/ / Zadaci na rasporedu u programu Excel VBA

Zadaci na rasporedu u programu Excel VBA

U nastavku ćemo pogledati program u Excel VBA koji postavlja boju pozadine zadatke koji su na rasporedu do zelene boje i postavlja pozadinsku boju zadataka koji su iza rasporeda crvene boje.

Situacija:

Na Sheet1 imamo tri zadatka (X, Y, Z). "1" označava da je zadatak završen. Zadatak je u rasporedu ako postoji "1" u svakom stupcu do današnjeg datuma, a danas je 6. lipnja. Zadaci X i Y su na rasporedu. Zadatak Z je iza rasporeda (ne "1" u ćeliji E8).

Zadaci na rasporedu u programu Excel VBA

Izradite događaj promjene radnog lista. Kôd dodan u događaj promjene radnog lista izvršit će Excel VBA kada promijenite ćeliju na radnom listu.

1. Otvorite Visual Basic Editor.

2. Dvaput kliknite na Sheet1 (Sheet1) u Project Exploreru.

3. Na lijevom padajućem popisu odaberite Radni list. Odaberite Promijeni s desnog padajućeg popisa.

Radni list Promjena događaja u programu Excel VBA

Dodajte sljedeće retke koda u događaj promjene radnog lista:

4. Navedite dvije varijable tipa Integer.

Dim i As Integer, j As Integer

5. Dodaj opciju "Do While Loop".

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


    i = i + 1
Loop

Objašnjenje: Za i = 0, Excel VBA provjerava zadatak X, za i = 1, zadatak Y, itd. Excel VBA ostavlja Do While petlju kada su ćelije (6 + i, 1). Vrijednost je prazno (nema više zadataka za provjeru).

Dodajte sljedeće linije koda (na 6, 7 i 8) na Do While Loop.

6. Inicijalizirajte varijab j s vrijednošću 0.

j = 0

7. Postavite pozadinsku boju zadatka zelenom, pod pretpostavkom da je zadatak na rasporedu (to ne mora nužno vrijediti naravno).

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

8. Dodaj još jednu dok je petlja.

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

Napomena: datumska funkcija vraća današnji datum.

Obrazloženje: Za i = 0, j = 0, Excel VBA provjerava ćeliju B6. Ako je Excel VBA pronašao "0", to znači da je "1" prisutan u svakom stupcu do i uključujući današnji datum. postavlja boju pozadine na crvenu.

9. Ispitajte program. Na primjer, navedite da je zadatak Z na 6-junu završen. Kao rezultat toga zadaća Z automatski će se zelena.

Zadaci na rasporedu rezultata

Također pročitajte: