/ / Attività su pianificazione in VBA di Excel

Attività su pianificazione in VBA di Excel

Di seguito vedremo un programma in Excel VBA che imposta il colore di sfondo di attività che sono in programma in verde e imposta il colore di sfondo delle attività in ritardo rispetto alla pianificazione.

Situazione:

Su Sheet1 abbiamo tre compiti (X, Y, Z). Un "1" indica che un'attività è stata completata. Un compito è in programma se esiste un "1" in ogni colonna fino alla data odierna inclusa. Oggi è 6-giu. I compiti X e Y sono in programma. L'attività Z è in ritardo (nessun "1" nella cella E8).

Attività su pianificazione in VBA di Excel

Creare un evento di modifica del foglio di lavoro. Il codice aggiunto all'Evento di modifica del foglio di lavoro verrà eseguito da VBA di Excel quando si modifica una cella in un foglio di lavoro.

1. Aprire il Visual Basic Editor.

2. Fare doppio clic su Sheet1 (Sheet1) in Project Explorer.

3. Seleziona Foglio di lavoro dall'elenco a discesa a sinistra. Scegli Cambia dall'elenco a discesa a destra.

Evento di modifica del foglio di lavoro in VBA di Excel

Aggiungere le seguenti righe di codice all'evento di modifica del foglio di lavoro:

4. Dichiarare due variabili di tipo Integer.

Dim i As Integer, j As Integer

5. Aggiungi un ciclo Do While.

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


    i = i + 1
Loop

Spiegazione: Per i = 0, VBA di Excel controlla l'attività X, per i = 1, l'attività Y, ecc. Excel VBA lascia il ciclo Do While quando Cells (6 + i, 1) .Value è vuoto (non ci sono più attività da controllare).

Aggiungi le seguenti linee di codice (a 6, 7 e 8) al ciclo Do While.

6. Inizializza la variabile j con valore 0.

j = 0

7. Impostare il colore di sfondo di un'attività su verde presumendo che un'attività sia in programma (ciò non è necessariamente vero ovviamente).

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

8. Aggiungi un altro ciclo Do While.

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

Nota: la funzione Date restituisce la data di oggi.

Spiegazione: Per i = 0, j = 0, VBA di Excel controlla la cella B6. Per i = 0, j = 1, VBA di Excel controlla la cella C6, ecc. Un'attività è in programma se esiste un "1" in ogni colonna fino alla data odierna inclusa. Se VBA di Excel trova uno "0", imposta il colore di sfondo dell'attività in rosso.

9. Testare il programma. Ad esempio, indicare che l'attività Z su 6-jun è stata completata. Di conseguenza, l'attività Z diventerà automaticamente verde.

Attività sul risultato della pianificazione

Leggi anche: