Uppgifter på schema i Excel VBA - enkla Excel -makron

Innehållsförteckning

Nedan kommer vi att titta på ett program i Excel VBA som anger bakgrundsfärgen på uppgifter som ligger enligt schemat till grönt och anger bakgrundsfärgen för uppgifter som ligger efter schemat till röd.

Situation:

På Sheet1 har vi tre uppgifter (X, Y, Z). Ett "1" indikerar att en uppgift har slutförts. En uppgift är schemalagd om "1" finns i varje kolumn till och med dagens datum. Idag är det 6 juni. Uppgifterna X och Y är enligt schemat. Uppgift Z ligger bakom schemat (nr "1" i cell E8).

Skapa en ändringshändelse för kalkylblad. Kod som läggs till i kalkylbladets ändringshändelse körs av Excel VBA när du ändrar en cell i ett kalkylblad.

1. Öppna Visual Basic Editor.

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

3. Välj kalkylblad från den vänstra listrutan. Välj Ändra från den högra listrutan.

Lägg till följande kodrader i ändringshändelsen för kalkylblad:

4. Deklarera två variabler av typen heltal.

Dim i As Integer, j As Integer

5. Lägg till en Do While Loop.

Gör medan -celler (6 + i, 1). Värde ""
i = i + 1
Slinga

Förklaring: För i = 0 kontrollerar Excel VBA uppgift X, för i = 1, uppgift Y, etc. Excel VBA lämnar Do While -slingan när celler (6 + i, 1). Värdet är tomt (inga fler uppgifter att kontrollera) .

Lägg till följande kodrader (vid 6, 7 och 8) i Do While Loop.

6. Initiera variabeln j med värde 0.

j = 0

7. Ställ in bakgrundsfärgen för en uppgift till grön förutsatt att en uppgift är enligt schemat (detta är inte nödvändigtvis sant förstås).

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

8. Lägg till ytterligare en Do While Loop.

Gör medan celler (4, 2 + j) .Värde <= datum
Om celler (6 + i, 2 + j) .Värde = 0 Sedan celler (6 + i, 1) .Interior.ColorIndex = 3
j = j + 1
Slinga

Obs! Datumfunktionen returnerar dagens datum.

Förklaring: För i = 0, j = 0, kontrollerar Excel VBA cell B6. För i = 0, j = 1, Excel VBA kontrollerar cell C6, etc. En uppgift är enligt schemat om "1" finns i varje kolumn till och med dagens datum. Om Excel VBA hittar ett "0", ställer det in bakgrundsfärgen för uppgiften till röd.

9. Testa programmet. Ange till exempel att uppgift Z den 6 juni har slutförts. Som ett resultat blir uppgift Z automatiskt grön.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave