Nedenfor ser vi på et program i Excel VBA der sætter baggrundsfarven på opgaver, der er planlagt til grøn, og indstiller baggrundsfarven på opgaver, der er bagefter tidsplanen, til rød.
Situation:
På Sheet1 har vi tre opgaver (X, Y, Z). Et "1" angiver, at en opgave er udført. En opgave er planlagt, hvis der findes en "1" i hver kolonne til og med dagens dato. I dag er det 6. juni. Opgaver X og Y er efter planen. Opgave Z ligger bag skemaet (nr. "1" i celle E8).
Opret en regnearksændringshændelse. Kode tilføjet til regnearksændringshændelsen udføres af Excel VBA, når du ændrer en celle i et regneark.
1. Åbn Visual Basic Editor.
2. Dobbeltklik på Sheet1 (Sheet1) i Project Explorer.
3. Vælg regneark på rullelisten til venstre. Vælg Skift fra den højre rulleliste.
Tilføj følgende kodelinjer til regnearksændringshændelsen:
4. Angiv to variabler af typen Integer.
Dim i As Integer, j As Integer
5. Tilføj en Do While Loop.
Gør mens celler (6 + i, 1). Værdi ""
i = i + 1
Sløjfe
Forklaring: For i = 0 kontrollerer Excel VBA opgave X, for i = 1, opgave Y osv. Excel VBA forlader Do While -løkken, når celler (6 + i, 1). Værdien er tom (ingen flere opgaver skal kontrolleres) .
Tilføj følgende kodelinjer (ved 6, 7 og 8) til Do While Loop.
6. Initialiser variablen j med værdi 0.
j = 0
7. Indstil baggrundsfarven på en opgave til grøn, forudsat at en opgave er tidsplanen (dette er ikke nødvendigvis sandt).
Celler (6 + i, 1) .Interior.ColorIndex = 4
8. Tilføj en anden Do While Loop.
Gør mens celler (4, 2 + j). Værdi <= dato
Hvis celler (6 + i, 2 + j) .Værdi = 0 Så celler (6 + i, 1) .Interior.ColorIndex = 3
j = j + 1
Sløjfe
Bemærk: Datofunktionen returnerer dagens dato.
Forklaring: For i = 0, j = 0 kontrollerer Excel VBA celle B6. For i = 0, j = 1 kontrollerer Excel VBA celle C6 osv. En opgave er efter planen, hvis der findes "1" i hver kolonne til og med dagens dato. Hvis Excel VBA finder et "0", sætter det baggrundsfarven på opgaven til rød.
9. Test programmet. Angiv f.eks., At opgave Z den 6. juni er udført. Som et resultat bliver opgave Z automatisk grøn.