Sarcini de programare în Excel VBA - Macro Excel ușor

Cuprins

Mai jos vom analiza un program în Excel VBA care setează culoarea de fundal a sarcini care sunt programate la verde și setează culoarea de fundal a sarcinilor care sunt în urmă cu programul la roșu.

Situatie:

Pe Sheet1 avem trei sarcini (X, Y, Z). Un „1” indică faptul că o sarcină a fost finalizată. O sarcină este programată dacă există un „1” în fiecare coloană până la data de astăzi inclusiv. Astăzi este 6-iun. Sarcinile X și Y sunt programate. Sarcina Z este în întârziere (nu există „1” în celula E8).

Creați un eveniment de schimbare a foii de lucru. Codul adăugat la evenimentul de modificare a foii de lucru va fi executat de Excel VBA atunci când schimbați o celulă pe o foaie de lucru.

1. Deschideți Editorul Visual Basic.

2. Faceți dublu clic pe Sheet1 (Sheet1) în Project Explorer.

3. Alegeți Foaie de lucru din lista derulantă din stânga. Alegeți Modificare din lista verticală dreaptă.

Adăugați următoarele linii de cod la evenimentul de modificare a foii de lucru:

4. Declarați două variabile de tip Întreg.

Dim i Integer, j As Integer

5. Adăugați o buclă Do While.

Faceți în timp ce celulele (6 + i, 1). Valorați ""
i = i + 1
Buclă

Explicație: Pentru i = 0, Excel VBA verifică sarcina X, pentru i = 1, sarcina Y etc. Excel VBA părăsește bucla Do While când celulele (6 + i, 1). Valoarea este goală (nu mai sunt sarcini de verificat) .

Adăugați următoarele linii de cod (la 6, 7 și 8) la bucla Do While.

6. Inițializați variabila j cu valoarea 0.

j = 0

7. Setați culoarea de fundal a unei sarcini la verde, presupunând că o sarcină este în termen (acest lucru nu este neapărat adevărat, desigur).

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

8. Adăugați încă o buclă Do While.

Faceți în timp ce celulele (4, 2 + j). Valoare <= Data
Dacă celulele (6 + i, 2 + j). Valoare = 0 Apoi celulele (6 + i, 1). Interior.ColorIndex = 3
j = j + 1
Buclă

Notă: funcția Data returnează data de astăzi.

Explicație: Pentru i = 0, j = 0, Excel VBA verifică celula B6. Pentru i = 0, j = 1, Excel VBA verifică celula C6, etc. O sarcină este programată dacă există un „1” în fiecare coloană până la data de astăzi inclusiv. Dacă Excel VBA găsește un „0”, setează culoarea de fundal a sarcinii la roșu.

9. Testați programul. De exemplu, indicați că sarcina Z pe 6 iunie a fost finalizată. Ca urmare, sarcina Z va deveni automat verde.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave