משימות בלוח הזמנים ב- Excel VBA - פקודות מאקרו קלות של Excel

תוכן העניינים

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

מַצָב:

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

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

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

2. לחץ פעמיים על Sheet1 (Sheet1) בסייר הפרויקטים.

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

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

4. הצהירו על שני משתנים מסוג מספר שלם.

Dim i As Integer, j As Integer

5. הוסף Do While Loop.

ערך תאים (6 + i, 1). ערך ""
i = i + 1
לוּלָאָה

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

הוסף את שורות הקוד הבאות (ב -6, 7 ו -8) ללולאת Do While Loop.

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

j = 0

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

תאים (6 + i, 1) .Interior.ColorIndex = 4

8. הוסף עוד Do While Loop.

בצע תאים (4, 2 + j). ערך <= תאריך
אם תאים (6 + i, 2 + j) .Value = 0 ואז תאים (6 + i, 1) .Interior.ColorIndex = 3
j = j + 1
לוּלָאָה

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

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

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

תוכל לעזור בפיתוח האתר, שיתוף הדף עם החברים שלך

wave wave wave wave wave