/ / Opgaver på skema i Excel VBA

Opgaver på skema i Excel VBA

Nedenfor vil vi se på et program i Excel VBA der sætter baggrundsfarven på opgaver, der er på skema til grøn, og angiver baggrundsfarven på opgaver, der ligger bag skemaet til rødt.

Situation:

På Sheet1 har vi tre opgaver (X, Y, Z). En "1" indikerer at en opgave er gennemført. En opgave er på skema, hvis der findes en "1" i hver kolonne til og med dagens dato. I dag er det 6-juni. Opgaver X og Y er på skema. Opgave Z er efter planen (ingen "1" i celle E8).

Opgaver på skema i Excel VBA

Opret et regnearkændringsbegivenhed. Kode føjet til regnearkets ændringshændelse udføres af Excel VBA, når du ændrer en celle på et regneark.

1. Åbn Visual Basic Editor.

2. Dobbeltklik på Sheet1 (Sheet1) i Project Explorer.

3. Vælg Arbejdsark fra den venstre rullemenu. Vælg Skift fra den højre rulleliste.

Arbejdsark Skift begivenhed i Excel VBA

Tilføj følgende kodelinjer til regnearkets ændringshændelse:

4. Erklære to variabler af typen Integer.

Dim i As Integer, j As Integer

5. Tilføj en Do While Loop.

Do While Cells(6 + i, 1).Value <> ""


    i = i + 1
Loop

Forklaring: For i = 0, kontrollerer Excel VBA opgave X, for i = 1, opgave Y osv. Excel VBA forlader Do While loop når celler (6 + i, 1) .Value er tomt (ikke flere opgaver at kontrollere).

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. Sæt baggrundsfarven på en opgave til grønt, forudsat at en opgave er på skema (det er ikke nødvendigvis selvfølgelig det samme).

Cells(6 + i, 1).Interior.ColorIndex = 4

8. Tilføj en anden Do While Loop.

Do While Cells(4, 2 + j).Value <= Date
    If Cells(6 + i, 2 + j).Value = 0 Then Cells(6 + i, 1).Interior.ColorIndex = 3
    j = j + 1
Loop

Bemærk: Dato-funktionen 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 på skema, hvis der findes en "1" i hver kolonne til og med dagens dato. Hvis Excel VBA finder en "0" sætter baggrundsfarven på opgaven til rød.

9. Test programmet. Angiv for eksempel, at opgaven Z den 6-jun er blevet gennemført. Som et resultat bliver opgave Z automatisk grøn.

Opgaver i planlægningsresultatet

Læs også: