התקשרו אלינו: 052-2928949

התקשרו אלינו: 052-2928949

טיפ VBA – צפייה במשתנים תוך כדי ריצת קוד

VBA Tip

טיפ VBA – צפייה במשתנים תוך כדי ריצת קוד

VBA Tip

בעת הרצת הקוד שכתבתם ב VBA באמצעות שימוש ב 'צעד אחרי צעד' (Step By Step), על ידי לחיצה חוזרת על הלחצן F8 במקלדת,
ניתן לצפות בערכים אותם מקבלים המשתנים.

אז איך צופים במשתנים?
ישנן כמה דרכים מקובלות:

הצבת הסמן על המשתנה

צפיה במשתנה

בזמן ריצת הקוד, הציבו את הסמן על המשתנה. ערכו יופיע בתוך בועה צהובה:

אפשרות זו נוחה לבדיקה אם מדובר במספר קטן של משתנים ובדיקות

חלונית Locals

מציגה רשימה של כל המשתנים בפרוצדורה.
להוספת החלונית בחרו בתפריט View > Locals Window:

Locals Window | חלונית Locals

בזמן הפעלת הקוד 'צעד אחרי צעד' ניתן לראות את השתנותם תוך כדי ריצה.
אם אין לכם הרבה משתנים, האפשרות הזו נוחה מאוד, מכיוון שאתם לא צריכים לבחור אחד אחד את המשתנים שאתם מבקשים לבדוק, אולם יש לזכור, שבהתאמה לשם החלונית, היא מציגה רק משתנים מקומיים, כלומר – לא תוכלו לראות בה משתנים שהגדרתם כ Public, מחוץ לרוטינה.

חלונית Watch

מאפשרת צפייה במשתנים נבחרים תוך כדי ריצת הקוד.
הוספת משתנים לחלונית:
1. לחצו לחיצה ימנית על המשתנה (מתוך הקוד)
2. בחרו באפשרות Add Watch

Add Watch Window | הוספת משתנה

3. יפתח החלון הבא:

Add Watch | צפיה במשתנים

4. ודאו שסימנתם את המשתנה הנכון
5. לחצו על OK
6. המשתנה יופיע בחלונית, כפי שניתן לראות באיור שלהלן:

Variables | צפיה במשתנים

בניגוד לבחירה בחלונית LOCALS, השימוש ב WATCHES מאפשר בחירה של המשתנים שמעניינים אתכם, במקום לקבל רשימה של כל המשתנים.
יתרון נוסף וחשוב – בחלונית WATCH ניתן לצפות גם בביטויים ולא רק במשתנים!
זוכרים את הקוד למציאת שורת הנתונים האחרונה?

LR = Cells(Rows.Count, 1).End(xlUp).Row

לא זוכרים? קראו את ההסבר כאן
אם בקוד הזה נוריד לחלונית Watch את הביטוי Cells.Count, נוכל לצפות בערכו תוך כדי ריצת הקוד

Rows.count | ספירה של מספר השורות בגיליון

שימוש ב MSGBOX

יציג הודעה באמצעות תיבת טקסט תוך כדי ריצת הקוד
שימו לב, השימוש בתיבת ההודעה יעצור את ריצת הקוד.
אני לא ממליצה להשתמש בו אם יש לכם משתנים רבים, או בתוך לולאה…

DEBUG.PRINT

מציג בחלונית Immediate את ערכו של המשתנה.
זהו פתרון מצוין לצפיה בשינוי ערכי משתנה בתוך לולאה, מכיוון שהוא מציג את כל הערכים, אך בניגוד לשימוש ב MSGBOX, השימוש ב DEBUG.PRINT אינו עוצר את ריצת הקוד!
רוצים עוד מידע על חלונית Immediate? לחצו כאן

רוצים ללמוד VBA מספר? לחצו כאן

מעוניינים ללמוד בנוחות ביתכם בקורס מקוון? לחצו כאן

דילוג לתוכן