/ / Zadania dotyczące harmonogramu w programie Excel VBA

Zadania dotyczące harmonogramu w programie Excel VBA

Poniżej przyjrzymy się programowi w Excel VBA który ustawia kolor tła zadania, które są zaplanowane na zielono i ustawia kolor tła zadań, które są opóźnione w stosunku do koloru czerwonego.

Sytuacja:

Na arkuszu 1 mamy trzy zadania (X, Y, Z). "1" oznacza, że ​​zadanie zostało zakończone. Zadanie jest zaplanowane, jeśli "1" istnieje w każdej kolumnie do daty dzisiejszej włącznie. Dziś jest 6-jun. Zadania X i Y są zaplanowane. Zadanie Z jest opóźnione (nie ma "1" w komórce E8).

Zadania dotyczące harmonogramu w programie Excel VBA

Utwórz zdarzenie zmiany arkusza roboczego. Kod dodany do zdarzenia zmiany arkusza roboczego zostanie wykonany przez Excel VBA po zmianie komórki w arkuszu.

1. Otwórz Edytor Visual Basic.

2. Kliknij dwukrotnie Arkusz1 (Arkusz1) w Eksploratorze projektu.

3. Wybierz Arkusz roboczy z lewej listy rozwijanej. Wybierz Zmień z prawej listy rozwijanej.

Arkusz Zmień wydarzenie w programie Excel VBA

Dodaj następujące wiersze kodu do zdarzenia zmiany arkusza roboczego:

4. Deklaruj dwie zmienne typu Integer.

Dim i As Integer, j As Integer

5. Dodaj pętlę Do Podczas.

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


    i = i + 1
Loop

Objaśnienie: W przypadku i = 0 program Excel VBA sprawdza zadanie X, dla i = 1, zadanie Y itd. W programie Excel VBA opuszcza pętlę Do While, gdy komórki (6 + i, 1). Wartość jest pusty (nie ma więcej zadań do sprawdzenia).

Dodaj następujące linie kodu (w 6, 7 i 8) do pętli Do Podczas.

6. Zainicjuj zmienną j o wartości 0.

j = 0

7. Ustaw kolor tła zadania na zielony, zakładając, że zadanie jest zaplanowane (niekoniecznie musi to oczywiście nastąpić).

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

8. Dodaj kolejną pętlę 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

Uwaga: funkcja Date zwraca dzisiejszą datę.

Wyjaśnienie: Dla i = 0, j = 0, Excel VBA sprawdza komórkę B6. Dla i = 0, j = 1, Excel VBA sprawdza komórkę C6 itp. Zadanie jest zaplanowane, jeśli "1" istnieje w każdej kolumnie aż do daty dzisiejszej włącznie. Jeśli Excel VBA znajdzie "0", to ustawia kolor tła zadania na czerwony.

9. Sprawdź program. Na przykład wskaż, że zadanie Z na 6-jun zostało zakończone. W rezultacie zadanie Z automatycznie zmieni kolor na zielony.

Zadania dotyczące wyniku harmonogramu

Przeczytaj również: