/ / Oppgaver på skjema i Excel VBA

Oppgaver på skjema i Excel VBA

Nedenfor ser vi på et program i Excel VBA som setter bakgrunnsfargen til oppgaver som er på tidsplan til grønt, og setter bakgrunnsfargen på oppgavene som ligger bak planen til rød.

Situasjon:

På Ark1 har vi tre oppgaver (X, Y, Z). En "1" indikerer at en oppgave er fullført. En oppgave er på skjema hvis en "1" eksisterer i hver kolonne til og med dagens dato. I dag er det 6-juni. Oppgaver X og Y er på skjema. Oppgave Z er etter planen (ingen "1" i celle E8).

Oppgaver på skjema i Excel VBA

Opprett et regnearkendringshendelse. Kode som er lagt til i regnearkets endringshendelse, blir utført av Excel VBA når du endrer en celle på et regneark.

1. Åpne Visual Basic Editor.

2. Dobbeltklikk på Sheet1 (Sheet1) i Project Explorer.

3. Velg regneark fra den nedtrekkbare listen. Velg Endre fra den høyre rullegardinlisten.

Regneark Endre Hendelse i Excel VBA

Legg til følgende kodelinjer i regnearkendringshendelsen:

4. Erklær to variabler av typen Integer.

Dim i As Integer, j As Integer

5. Legg til en Do While Loop.

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


    i = i + 1
Loop

Forklaring: For i = 0, kontrollerer Excel VBA oppgave X, for i = 1, oppgave Y, etc. Excel VBA forlater Do While-loop når celler (6 + i, 1) .Value er tomt (ikke flere oppgaver å sjekke).

Legg til følgende kodelinjer (ved 6, 7 og 8) til Do while Loop.

6. Initialiser variabelen j med verdi 0.

j = 0

7. Sett bakgrunnsfargen til en oppgave til grønt, forutsatt at en oppgave er på skjema (dette er ikke nødvendigvis sant selvsagt).

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

8. Legg til en annen gjøre mens du går.

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

Merk: Dato-funksjonen returnerer dagens dato.

Forklaring: For i = 0, j = 0, kontrollerer Excel VBA celle B6. For i = 0, j = 1, kontrollerer Excel VBA celle C6, etc. En oppgave er på skjema hvis en "1" eksisterer i hver kolonne til og med dagens dato. Hvis Excel VBA finner en "0" setter bakgrunnsfargen på oppgaven til rød.

9. Test programmet. For eksempel angi at oppgaven Z på 6-juni er fullført. Som et resultat blir oppgave Z automatisk grønn.

Oppgaver på planresultatet

Les også: