בעת הרצת הקוד שכתבתם ב VBA באמצעות שימוש ב 'צעד אחרי צעד' (Step By Step), על ידי לחיצה חוזרת על הלחצן F8 במקלדת,
ניתן לצפות בערכים אותם מקבלים המשתנים.
אז איך צופים במשתנים?
ישנן כמה דרכים מקובלות:
הצבת הסמן על המשתנה
בזמן ריצת הקוד, הציבו את הסמן על המשתנה. ערכו יופיע בתוך בועה צהובה:
אפשרות זו נוחה לבדיקה אם מדובר במספר קטן של משתנים ובדיקות
חלונית Locals
מציגה רשימה של כל המשתנים בפרוצדורה.
להוספת החלונית בחרו בתפריט View > Locals Window:
בזמן הפעלת הקוד 'צעד אחרי צעד' ניתן לראות את השתנותם תוך כדי ריצה.
אם אין לכם הרבה משתנים, האפשרות הזו נוחה מאוד, מכיוון שאתם לא צריכים לבחור אחד אחד את המשתנים שאתם מבקשים לבדוק, אולם יש לזכור, שבהתאמה לשם החלונית, היא מציגה רק משתנים מקומיים, כלומר – לא תוכלו לראות בה משתנים שהגדרתם כ Public, מחוץ לרוטינה.
חלונית Watch
מאפשרת צפייה במשתנים נבחרים תוך כדי ריצת הקוד.
הוספת משתנים לחלונית:
1. לחצו לחיצה ימנית על המשתנה (מתוך הקוד)
2. בחרו באפשרות Add Watch
3. יפתח החלון הבא:
4. ודאו שסימנתם את המשתנה הנכון
5. לחצו על OK
6. המשתנה יופיע בחלונית, כפי שניתן לראות באיור שלהלן:
בניגוד לבחירה בחלונית LOCALS, השימוש ב WATCHES מאפשר בחירה של המשתנים שמעניינים אתכם, במקום לקבל רשימה של כל המשתנים.
יתרון נוסף וחשוב – בחלונית WATCH ניתן לצפות גם בביטויים ולא רק במשתנים!
זוכרים את הקוד למציאת שורת הנתונים האחרונה?
LR = Cells(Rows.Count, 1).End(xlUp).Row
לא זוכרים? קראו את ההסבר כאן
אם בקוד הזה נוריד לחלונית Watch את הביטוי Cells.Count, נוכל לצפות בערכו תוך כדי ריצת הקוד
שימוש ב MSGBOX
יציג הודעה באמצעות תיבת טקסט תוך כדי ריצת הקוד
שימו לב, השימוש בתיבת ההודעה יעצור את ריצת הקוד.
אני לא ממליצה להשתמש בו אם יש לכם משתנים רבים, או בתוך לולאה…
DEBUG.PRINT
מציג בחלונית Immediate את ערכו של המשתנה.
זהו פתרון מצוין לצפיה בשינוי ערכי משתנה בתוך לולאה, מכיוון שהוא מציג את כל הערכים, אך בניגוד לשימוש ב MSGBOX, השימוש ב DEBUG.PRINT אינו עוצר את ריצת הקוד!
רוצים עוד מידע על חלונית Immediate? לחצו כאן