קורסי מיקרוסופט לארגונים – כרמל הדרכה

Microsoft Partner

קורס אקסל VBA – אינטראקציה עם המשתמש

תוכן עניינים

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

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

במסגרת ספר זה יוצגו שתי תיבות דו-שיח ליצירת אינטראקציה עם המשתמש:

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

InputBox – חלון המאפשר למשתמש להקליד מידע בשדה הזנה פתוח.

MsgBox – באמצעות הפקודה MsgBox ניתן להציג הודעות למשתמש, ובזכות מבחר כפתורים ניתן לאסוף ממנו מידע.

מבנה הפקודה המלא

להלן התחביר של הפקודה:

MsgBox( prompt [, buttons] [, title] [, helpfile, context] )

  • Prompt – זהו שדה חובה. בפרמטר זה יש להזין את ההודעה למשתמש, שתופיע בגוף החלון. ניתן לשלב גם ערכים מתוך משתנים ופקודות נוספות המטפלות בטקסט כמו: יישור הטקסט (מועיל במיוחד לטקסט בעברית), יצירת שורה חדשה ועוד.
  • Buttons – אפשרויות הכפתורים שניתן להוסיף לחלון. את הבחירה של המשתמש (תוכן הכפתור שעליו לחץ) ניתן לאחסן בתוך משתנה. מספר אפשרויות כפתורים לדוגמא:
    • vbOK
    • vbOKCancel
    • vbAbortRetryIgnore
    • vbYesNo
    • vbYesNoCancel
    • vbRetryCancel
  • Title – להזנת את הכותרת של החלון.
  • Helpfileו-Context – לשיוך קובץ עזרה, אם המשתמש בחר ללחוץ על כפתור מסוג עזרה.

הדוגמא הבאה מציגה חלון אינטראקציה שניתן ליצור, עם הפרמטרים שצוינו:

להלן הקוד ליצירת החלון:

הדוגמה הבאה מציגה שימוש בMsgBox– עם כפתורים מותאמים אישית. תוכן הכפתור, שעליו ילחץ המשתמש, בתוך יאחסן משתנה:

UserAnswer הוא המשתנה שלתוכו יאוחסן תוצאות הבחירה של המשתמש.

vbYesNo – סוג הכפתור הרצוי שמאפשר למשתמש לבחור בין לחיצה על כפתור "כן" וכפתור "לא".

vbNewLine – פקודת עזר להוספת שורה חדשה וירידת שורה יזומה, בפרמטר התוכן המילולי של החלון. ישנן מספר פקודות עזר המסייעות לעיצוב וארגון חלון ההודעה.

להלן חלון ה-MsgBox שיוצר קוד זה:

להלן תצוגת חלונית Locals לאחר בחירת המשתמש בכפתור "כן":

ניתן לראות שבחירת המשתמש בכפתור "כן", הזינה לתוך המשתנה UserAnswer את הערך 6.

בחירה בכפתור "לא" הייתה מזינה אל תוך המשתנה את הערך 7. כלומר, לכל אחד מהכפתורים ב-VBA יש ערך קבוע:

OK                  1

Cancel            2

Abort              3

Retry               4

Ignore             5

Yes                  6

No                   7

הדוגמה הבאה מציגה שימוש בערך אותו בחר המשתמש בעת הלחיצה על אחד הכפתורים. הגיליון הבא מציג פלט יומי בטבלת מכירות שביצעו עובדים. יש לבצע בדיקה על כל טבלה יומית כדי לבדוק עמידה ביעדים והכלליים היומיים:

הקוד הבא מציג בדיקה על מכירות מתחת ל-200 $. באמצעות לולאה (ר' עמ' 68) הקוד רץ על כל רשומה בטבלה ובודק באמצעות תנאי If (ר' עמ' 51) אם ערך המכירה קטן מ-200. אם ימצא ערך כזה מיד יקפוץ חלון הודעה למשתמש:

ניתן לראות כי המשתמש יכול לבחור בין OK ו-Cancel בחלון ההודעה. אם הוא בחר ב-Cancel, כלומר לתוך המשתנה ANS יכנס הערך 2, מיד תופסק ריצת הקוד, באמצעות GoTo (ר' עמ' 58) אל סוף הקוד.

להלן חלון ה-MsgBox שיוצר קוד זה:

מבנה הפקודה המקוצר

המבנה המלא הנ"ל של הפקודה, משמש לרוב כאשר יש צורך בהגדרת כפתורים בחלון לשם איסוף תוכן הבחירה של המשתמש, לשם שימוש בהמשך הקוד. אולם, ניתן ליצור חלון MsgBox פשוט ללא כפתורים וללא הגדרת כותרת. לשם כך ניתן לציין רק את הפרמטר הראשון ללא סוגריים וללא הפרמטרים האחרים, לפי המבנה הבא:

MsgBox "{Text}"

לדוגמה:

MsgBox "Welcome"

כיוון שמבנה זה כולל את תוכן ההודעה כמחרוזת טקסט בלבד, ניתן לטפל בו כבמחרוזת טקסט (ר' עמ' 47), ולשרשר לו מידע נוסף.

הדוגמה הבאה מציגה שרשור של תוכן הודעה מילולי לשם המשתמש ושם הגיליון:

להלן חלון ה-MsgBox שיוצר קוד זה:

InputBox

באמצעות הפקודה InputBox ניתן לקבל מידע מהמשתמש אותו הוא יכול להזין בתוך שדה להקלדה חופשית המופיע בחלון ההודעה.

להלן התחביר של הפקודה:

InputBox( prompt [, title] [, default value] )

  • Prompt – זהו שדה חובה. בפרמטר זה יש להזין את ההודעה למשתמש, שתופיע בגוף החלון. ניתן לשלב גם ערכים מתוך משתנים ופקודות נוספות המטפלות בטקסט כמו: יישור הטקסט (מועיל במיוחד לטקסט בעברית), יצירת שורה חדשה ועוד.
  • Title – להזנת את הכותרת של החלון.
  • Default Value – אפשרות להצגת ערך ברירת מחדל, שיופיע בשדה ההזנה. פרמטר זה אינו חובה.

הדוגמה הבאה מציגה אחסון של המידע, שהמשתמש מזין בשדה ההזנה:

להלן חלון ה-InputBox שיוצר קוד זה:

להלן תצוגת חלונית Locals לאחר בחירת המשתמש בכפתור :

קורס אקסל VBA
תוכן עניינים
מלאו פרטים ונחזור אליכם בהקדם
למה לבחור בכרמל הדרכה?
אנחנו מציעים פתרונות איכותיים להדרכות מקצועיות שחוסכות לכם זמן ומשאבים, ומספקים לכם את הכלים לקחת את כישורי האקסל שלכם עוד צעד קדימה!
מרצים מובילים

בעלי ניסיון הדרכתי ומעשי עשיר

מגיעים אליכם

אתם קובעים את מיקום הקורס והמועד

תאוריה ותרגול

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

תוכנית מותאמת

התאמה מלאה ואישית לדרישות ולצרכי הארגון

למדו מהמומחים שלנו
טיפ לשימוש ב- Excel VBA
קורס אקסל VBA – קבצים Excel VBA

הייתם רוצים לעזור למשתמשים לעבוד עם הקבצים שלכם ב-Excel באופן מסודר? לחייב אותם להזין מידע במקומות מוגדרים מראש, או להקפיץ להם התראות עם הנחיות בפתיחה או בסגירות הקובץ?

קרא עוד »
קורס אקסל VBA
קורס אקסל VBA – מרכז יחסי האמון ורמות אבטחה

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

קרא עוד »
קורס אקסל VBA
קורס אקסל VBA – הגנה ונעילה

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

קרא עוד »
קורס אקסל VBA
קורס אקסל VBA – אירועים

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

קרא עוד »
קורס אקסל VBA
קורס אקסל VBA – מודול עריכה Class Module

Class Module הוא מודול עריכה נוסף ב-VBA (בשונה מהמודול הרגיל לעריכת פקודות שנידון עד כה), המשמש ליצירת אובייקט מסוג חדש. Collection של פריטים ניתן ליצור במודול רגיל, אולם ליצירה של אובייקטים מותאמים אישית חדשים של ממש ואיסופם אל תוך Collection מותאם אישית, יש לפתוח Class Module חדש.

קרא עוד »

מתחיל ב-06.06.2024

1 מפגש

16:00 - 09:00
Azure AI Fundamentals
דילוג לתוכן