Attività pianificate in Excel VBA - Easy Excel Macros

Sommario

Di seguito vedremo un programma in Excel VBA che imposta il colore di sfondo di compiti che sono nei tempi previsti su verde e imposta il colore di sfondo delle attività in ritardo sulla pianificazione su rosso.

Situazione:

Su Sheet1 abbiamo tre task (X, Y, Z). Un "1" indica che un'attività è stata completata. Un'attività è nei tempi previsti se esiste un "1" in ogni colonna fino alla data odierna inclusa. Oggi è il 6 giugno. Le attività X e Y sono in programma. L'attività Z è in ritardo rispetto alla pianificazione (nessun "1" nella cella E8).

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

1. Aprire l'editor di Visual Basic.

2. Fare doppio clic su Foglio1 (Foglio1) in Esplora progetti.

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

Aggiungi 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.

Esegui mentre celle (6 + i, 1). Valore ""
io = io + 1
Ciclo continuo

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

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

6. Inizializzare la variabile j con valore 0.

j = 0

7. Impostare il colore di sfondo di un'attività su verde supponendo che un'attività sia nei tempi previsti (questo non è necessariamente vero, ovviamente).

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

8. Aggiungi un altro ciclo Do While.

Esegui mentre celle (4, 2 + j). Valore <= Data
Se Cells(6 + i, 2 + j).Value = 0 Allora Cells(6 + i, 1).Interior.ColorIndex = 3
j = j + 1
Ciclo continuo

Nota: la funzione Data restituisce la data odierna.

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

9. Testare il programma. Ad esempio, indica che l'attività Z il 6 giugno è stata completata. Di conseguenza, l'attività Z diventerà automaticamente verde.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave