/ / משימות על לוח הזמנים של

משימות על לוח הזמנים של

להלן נבחן תוכנית ב Excel VBA אשר קובע את צבע הרקע של משימות אשר על לוח הזמנים לירוק, וקובע את צבע הרקע של משימות שמאחורי לוח הזמנים לאדום.

מצב:

על גיליון 1 יש לנו שלוש משימות (X, Y, Z). "1" מציין שמשימה הושלמה. משימה היא על לוח הזמנים אם "1" קיים בכל עמודה עד וכולל תאריך של היום.היום זה 6-Jun. משימות X ו- Y נמצאות בלוח הזמנים. משימה Z היא מאחורי לוח הזמנים (לא "1" בתא E8).

משימות על לוח הזמנים של

יצירת אירוע גליון עבודה. הקוד שנוסף לאירוע שינוי גליון העבודה יבוצע על-ידי Excel VBA בעת שינוי תא בגליון עבודה.

1. פתח את עורך Visual Basic.

2. לחץ לחיצה כפולה על גיליון 1 (גיליון 1) בסייר הפרויקט.

.3 בחר באפשרות גיליון עבודה מהרשימה הנפתחת. בחר באפשרות שנה מהרשימה הנפתחת.

שינוי אירוע ב - Excel

הוסף את שורות הקוד הבאות לאירוע שינוי גליון העבודה:

4. להכריז על שני משתנים של מספר שלם.

Dim i As Integer, j As Integer

5. הוסף לולאה האם.

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


    i = i + 1
Loop

הסבר: עבור i = 0, Excel VBA בודק את המשימות X, עבור i = 1, משימה Y, וכו '. VBA Excel משאיר את הלולאה בעת ביצוע כאשר תאים (6 + i, 1). J ריק (לא עוד משימות לבדוק).

הוסף את שורות הקוד הבאות (ב 6, 7 ו - 8) ל לולאה בזמן.

6. לאתחל את המשתנה j עם ערך 0.

j = 0

7. הגדר את צבע הרקע של המשימה לירוק בהנחה שמשימה היא על לוח הזמנים (זה לא בהכרח נכון כמובן).

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

8. הוסף עוד האם לולאה.

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

הערה: הפונקציה Date מחזירה את תאריך היום.

הסבר: עבור i = 0, j = 0, Excel VBA בודק את התא B6. עבור i = 0, j = 1, Excel VBA בודק את התא C6, וכו 'משימה היא על לוח הזמנים אם "1" קיים בכל עמודה עד וכולל תאריך של היום.אם Excel VBA מוצא "0", זה קובע את צבע הרקע של המשימה לאדום.

9. בדוק את התוכנית. לדוגמה, לציין כי המשימה Z על 6-Jun הושלמה. כתוצאה מכך, המשימה Z תהפוך אוטומטית לירוק.

משימות על תוצאות לוח זמנים

קרא גם: