Zadania według harmonogramu w Excel VBA - łatwe makra w programie Excel

Spisie treści

Poniżej przyjrzymy się programowi w Excel VBA który ustawia kolor tła zadania zgodne z harmonogramem na zielony i ustawia kolor tła zadań opóźnionych na czerwony.

Sytuacja:

Na Sheet1 mamy trzy zadania (X, Y, Z). „1” oznacza, że ​​zadanie zostało wykonane. Zadanie jest zgodne z harmonogramem, jeśli „1” występuje w każdej kolumnie do dzisiejszej daty włącznie. Dziś jest 6 czerwca. Zadania X i Y przebiegają zgodnie z harmonogramem. Zadanie Z jest opóźnione (brak „1” w komórce E8).

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 projektów.

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

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

4. Zadeklaruj dwie zmienne typu Integer.

Dim i As Integer, j As Integer

5. Dodaj pętlę Do While.

Dopóki komórki (6 + i, 1). Wartość ""
ja = ja + 1
Pętla

Wyjaśnienie: Dla i = 0, Excel VBA sprawdza zadanie X, dla i = 1, zadanie Y itd. Excel VBA opuszcza pętlę Do While, gdy komórki (6 + i, 1). Wartość jest pusta (brak więcej zadań do sprawdzenia) .

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

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

j = 0

7. Ustaw kolor tła zadania na zielony, zakładając, że zadanie odbywa się zgodnie z harmonogramem (niekoniecznie jest to oczywiście prawdą).

Komórki(6 + i, 1).Interior.ColorIndex = 4

8. Dodaj kolejną pętlę Do While.

Do While Cells (4, 2 + j). Wartość <= Data
If Cells(6 + i, 2 + j).Value = 0 Then Cells(6 + i, 1).Interior.ColorIndex = 3
j = j + 1
Pętla

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 itd. Zadanie jest zgodne z harmonogramem, jeśli „1” występuje w każdej kolumnie do dzisiejszej daty włącznie. Jeśli Excel VBA znajdzie „0”, ustawia kolor tła zadania na czerwony.

9. Przetestuj program. Na przykład wskaż, że zadanie Z w dniu 6 czerwca zostało ukończone. W rezultacie zadanie Z automatycznie zmieni kolor na zielony.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave