qweb.ro - webdesign blog


Tipareste

Colorarea conditionata a celulelor in Excel cu Visual Basic Script

Octombrie 29, 2008 | Scris de Adrian | Legatura permanenta | vizite 1435

Ati lucrat vreodata in Excel? Vreun tabel pivotant la servici? Eu da, o gramada chiar. Dar pana ieri nu m-am bagat in scripting, mai exact Visual Basic pentru Excel. Chestia nu e foarte complicata, adica ce vreau eu sa fac e destul de simplu, macro-urile din Excel sunt foarte diverse si pot deveni extrem de complicate.
Iata ce vreau eu:

Casutele din coloana total (care insumeaza celelalte 2 coloane) sa isi schimbe culoarea fundalului in rosu in momentul in care valoarea este diferita de cifra din casuta D3 (total ore OCTOMBRIE 2008).

Pentru aceasta definim urmatoarea functie in Visual Basic Editor (ALT+F11):

Function ColorCells(ColorRng As String, 
                    ReferenceRng As String, 
                    Optional ColorValue As Integer = 3,
                    Optional Recalc As Variant = False)
 
    Application.Volatile Recalc
    Dim cell As Range
    Dim ColoredCells As Range
 
    ' Ignore errors
    On Error Resume Next
 
    Set ColoredCells = Range(ColorRng)
    On Error GoTo 0
 
    If Not ColoredCells Is Nothing Then
        For Each cell In ColoredCells
            If cell.Value <> Range(ReferenceRng).Value 
            Then
                cell.Interior.COLORINDEX = ColorValue
            Else
                cell.Interior.COLORINDEX = xlNone
            End If
        Next cell
    End If
 
End Function

Aceasta functie ColorCells trebuie definita in Module1(Code), iar apelarea ei se face la recalcularea formulelor din sheet (cu ajutorul evenimentului Worksheet_Calculate()) in Sheet1(Code).

Private Sub Worksheet_Calculate()
 
    Call ColorCells("D6:D9", "D3", 3)
 
End Sub


Salveaza fisierul excel si testeaza modificand valorile din tabel.
Descarca fisierul colorcells.xls folosit ca exemplu.

Ti-a placut ce ai citit? Aboneza-te prin RSS


©2010 qweb.ro - platforma: Wordpress

Aboneaza-te prin RSS

Aboneaza-te prin RSS
Web Hosting

Publicitate

Cele mai populare

Ultimele aparute