Im Folgenden werden wir ein Programm in Excel VBA suchen, die die Hintergrundfarbe von Aufgaben festgelegt, die auf grün sind im Zeitplan, und setzt die Hintergrundfarbe von Aufgaben, die hinter dem Zeitplan sind rot.

Situation:

Auf Sheet1 haben wir drei Aufgaben (X, Y, Z). Eine „1“ zeigt an, dass eine Aufgabe abgeschlossen ist. Eine Aufgabe ist im Zeitplan, wenn eine „1“ gibt es in jeder Spalte bis einschließlich dem heutigen Datum. Heute ist es 6-Juni Aufgaben X und Y sind im Zeitplan. Aufgabe Z ist hinter dem Zeitplan (keine „1“ in der Zelle E8).

Tasks on Schedule in Excel VBA

Erstellen Sie ein Arbeitsblatt ändern Ereignis. Code auf das Arbeitsblatt ändern Ereignis hinzugefügt wird von Excel VBA ausgeführt werden, wenn Sie eine Zelle in einem Arbeitsblatt ändern.

  1. Öffnen Sie den Visual Basic-Editor.

  2. Klicken Sie doppelt auf Tabelle1 (Sheet1) im Projekt-Explorer.

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

Worksheet Change Event in Excel VBA

Fügen Sie die folgenden Codezeilen zu dem Arbeitsblatt ändern Veranstaltung:

Deklarieren Sie zwei Variablen vom Typ Integer 4..

Dim i As Integer, j As Integer
  1. Do While-Schleife hinzufügen.

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

i = i + 1

Loop

Erläuterung: Für i = 0, Excel VBA prüft Aufgabe X, für i = 1, Aufgabe Y usw.

Excel VBA verläßt den Do While-Schleife, wenn die Zellen (6 + i, 1) .Value leer ist (nicht mehr Aufgaben zu überprüfen).

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

  1. Initialize die Variable j mit dem Wert 0

j = 0
  1. Um die Hintergrundfarbe einer Aufgabe auf grün unter der Annahme, dass eine Aufgabe im Zeitplan ist (dies ist nicht unbedingt der Fall natürlich).

Cells(6 + i, 1).Interior.ColorIndex = 4
  1. Um einen weiteren Do While-Schleife hinzufügen.

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: Datum Funktion gibt das heutige Datum.

Erläuterung: Für i = 0, j = 0, Excel VBA prüft die Zelle B6. Für i = 0, j = 1, C6 Excel VBA prüft Zelle usw. Eine Aufgabe im Zeitplan ist, wenn ein „1“ in jeder Spalte nach oben existiert und dem Datum der einschließlich heute. Wenn Excel VBA eine „0“ findet, setzt er die Hintergrundfarbe der Aufgabe zu rot.

  1. Testen Sie das Programm. Zum Beispiel zeigt, dass Aufgabe Z auf 6-Jun abgeschlossen ist. Als Ergebnis wird Aufgabe Z automatisch grün.

Tasks on Schedule Result