ה נכס StatusBar של אובייקט היישום ב- Excel VBA יכול לשמש לציון ההתקדמות של מאקרו ארוך. בדרך זו תוכל ליידע את המשתמש שמאקרו עדיין פועל.
מַצָב:
המאקרו שאנו הולכים ליצור ממלא טווח ("A1: E20") עם מספרים אקראיים.
הוסף את שורות הקוד הבאות ללחצן הפקודה:
1. ראשית, אנו מכריזים על שלושה משתנים מסוג מספר שלם, בשם i, j ו- pctCompl.
Dim i As Integer, j As Integer, pctCompl As Integer מספר
2. הוסף לולאה כפולה.
עבור i = 1 עד 20
עבור j = 1 עד 5
י הבא
הבא i
הוסף את שורות הקוד הבאות (ב- 3, 4 ו- 5) ללולאה.
3. השתמש בפונקציה RandBetween כדי לייבא מספר אקראי בין 20 ל -100.
תאים (i, j) .Value = WorksheetFunction.RandBetween (20, 100)
4. אתחל את המשתנה pctCompl. שורת הקוד השנייה כותבת את ערך המשתנה pctCompl וכמה טקסט תיאורי בשורת המצב.
pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "ייבוא נתונים …" & pctCompl & "% הושלם"
דוגמה: עבור i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% הושלמו.
5. אנו משתמשים בשיטת ההמתנה של אובייקט היישום כדי לדמות מאקרו ארוך.
Application.Wait Now + TimeValue ("00:00:01")
6. כדי לשחזר את טקסט שורת המצב של ברירת המחדל, הגדר את המאפיין StatusBar ל- False (מחוץ ללולאה).
Application.StatusBar = False
התוצאה כאשר אתה לוחץ על כפתור הפקודה בגיליון:
הערה: ניתן להפריע למאקרו בכל עת על ידי הקשה על Esc או Ctrl + Break. לגישה חזותית יותר, עיינו בתכנית מחוון ההתקדמות שלנו.