/ / Aufgaben im Zeitplan in Excel VBA

Aufgaben im Zeitplan in Excel VBA

Unten sehen wir uns ein Programm in Excel VBA das legt die Hintergrundfarbe von fest Aufgaben, die im Zeitplan liegen zu grün und legt die Hintergrundfarbe der Aufgaben, die hinter dem Zeitplan liegen, auf rot fest.

Situation:

Auf Sheet1 haben wir drei Aufgaben (X, Y, Z). Eine "1" zeigt an, dass eine Aufgabe abgeschlossen wurde. Eine Aufgabe ist im Zeitplan, wenn in jeder Spalte bis einschließlich des heutigen Datums eine "1" vorhanden ist. Heute ist es 6-Jun. Aufgaben X und Y sind im Zeitplan. Task Z ist hinter dem Zeitplan (keine "1" in Zelle E8).

Aufgaben im Zeitplan in Excel VBA

Erstellen Sie ein Arbeitsblattänderungsereignis. Code, der dem Worksheet Change Event hinzugefügt wird, wird von Excel VBA ausgeführt, wenn Sie eine Zelle in einem Arbeitsblatt ändern.

1. Öffnen Sie den Visual Basic-Editor.

2. Doppelklicken Sie im Projekt-Explorer auf Tabelle1 (Tabelle1).

3. Wählen Sie Arbeitsblatt aus der linken Dropdown-Liste. Wählen Sie Ändern aus der rechten Dropdown-Liste.

Arbeitsblatt Change Event in Excel VBA

Fügen Sie dem Worksheet Change Event die folgenden Codezeilen hinzu:

4. Deklarieren Sie zwei Variablen vom Typ Integer.

Dim i As Integer, j As Integer

5. Fügen Sie eine Do While-Schleife hinzu.

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


    i = i + 1
Loop

Erläuterung: Für i = 0 überprüft Excel VBA Task X, für i = 1, Task Y usw. Excel VBA verlässt die Do While-Schleife, wenn Zellen (6 + i, 1) .Value ist leer (keine weiteren zu überprüfenden Aufgaben).

Fügen Sie der Do While-Schleife die folgenden Codezeilen hinzu (bei 6, 7 und 8).

6. Initialisiere die Variable j mit dem Wert 0.

j = 0

7. Stellen Sie die Hintergrundfarbe einer Aufgabe auf grün, unter der Annahme, dass eine Aufgabe im Zeitplan liegt (dies ist natürlich nicht unbedingt der Fall).

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

8. Fügen Sie eine weitere Do While-Schleife hinzu.

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

Hinweis: Die Datumsfunktion gibt das heutige Datum zurück.

Erläuterung: Für i = 0, j = 0 überprüft Excel VBA Zelle B6. Für i = 0, j = 1, Excel VBA überprüft Zelle C6, etc. Eine Aufgabe ist im Zeitplan, wenn eine "1" in jeder Spalte bis einschließlich des heutigen Datums existiert. Wenn Excel VBA findet eine "0", es Setzt die Hintergrundfarbe der Aufgabe auf rot.

9. Testen Sie das Programm. Geben Sie beispielsweise an, dass Task Z auf 6-jun abgeschlossen wurde. Daher wird Aufgabe Z automatisch grün angezeigt.

Aufgaben im Zeitplan Ergebnis

Lesen Sie auch: