/ / Úlohy v programe v programe Excel VBA

Úlohy v programe v programe Excel VBA

Nižšie sa pozrieme na program v sekcii Excel VBA ktorý nastavuje farbu pozadia úlohy, ktoré sú podľa plánu na zelenú a nastaví farbu pozadia, ktoré sú za programom, na červenú.

situácie:

Na liste1 máme tri úlohy (X, Y, Z). Znak "1" označuje, že úloha bola dokončená. Úloha je podľa plánu, ak existuje "1" v každom stĺpci až do dnešného dátumu vrátane. Dnes je to 6-jun. Úlohy X a Y sú podľa plánu. Úloha Z je za plánom (v bunke E8 nie je "1").

Úlohy v programe v programe Excel VBA

Vytvorte udalosť zmeny pracovného hárka. Kód, ktorý bol pridaný k udalosti zmeny pracovného hárka, bude vykonaný programom Excel VBA pri zmene bunky na pracovnom hárku.

1. Otvorte Editor jazyka.

2. Dvakrát kliknite na Sheet1 (Sheet1) v Project Explorer.

3. V ľavom rozbaľovacom zozname vyberte položku Pracovný hárok. Vyberte položku Zmeniť v pravom rozbaľovacom zozname.

Zmeniť udalosť pracovného hárka v programe Excel VBA

Pridajte nasledujúce riadky kódu do udalosti zmeny pracovného hárka:

4. Deklarujte dve premenné typu Integer.

Dim i As Integer, j As Integer

5. Pridajte funkciu Do While Loop.

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


    i = i + 1
Loop

Vysvetlenie: Pre i = 0 Excel VBA skontroluje úlohu X, pre i = 1, úlohu Y atď. Excel VBA opúšťa reťazec Do While pri bunkách (6 + i, 1) .Value je prázdne (žiadne ďalšie úlohy na kontrolu).

Pridajte nasledujúce riadky kódu (na 6, 7 a 8) do slučky Do While.

6. Inicializujte premennú j na hodnotu 0.

j = 0

7. Nastavte farbu pozadia na zelenú za predpokladu, že úloha je naplánovaná (to samozrejme nie je samozrejme pravda).

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

8. Pridajte ďalšie 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

Poznámka: Funkcia Dátum vráti dnešný dátum.

vysvetlenie: Pre i = 0, j = 0, Excel VBA skontroluje bunku B6. Pre i = 0, j = 1 Excel VBA skontroluje bunku C6 atď. Úloha je v rozvrhu, ak v každom stĺpci existuje "1" až do dnešného dátumu vrátane.Ak Excel VBA nájde hodnotu "0" nastaví farbu pozadia na červenú.

9. Otestujte program. Napríklad uveďte, že úloha Z na 6-jun bola dokončená. V dôsledku toho sa úloha Z automaticky zmení na zelenú.

Úlohy na výsledku programu

Tiež si prečítajte: