Excel VBA MsgBox (תיבת הודעות) - כל מה שאתה צריך לדעת!

ב- Excel VBA, תוכל להשתמש בפונקציה MsgBox כדי להציג תיבת הודעות (כפי שמוצג להלן):

הודעת MsgBox אינה אלא תיבת דו -שיח שבה תוכל להשתמש כדי ליידע את המשתמשים שלך על ידי הצגת הודעה מותאמת אישית או קבלת כמה תשומות בסיסיות (כגון כן/לא או אישור/ביטול).

בעוד תיבת הדו -שיח MsgBox מוצגת, קוד ה- VBA שלך נעצר. עליך ללחוץ על כל אחד מהלחצנים ב- MsgBox כדי להריץ את קוד VBA הנותר.

הערה: במדריך זה אשתמש בתיבת ההודעות המילים וב- MsgBox לסירוגין. כאשר אתה עובד עם Excel VBA, אתה תמיד צריך להשתמש MsgBox.

אנטומיה של VBA MsgBox באקסל

תיבת הודעות כוללת את החלקים הבאים:

  1. כותרת: בדרך כלל משתמשים בזה כדי להציג על מה עוסקת תיבת ההודעות. אם אינך מציין דבר, הוא מציג את שם היישום - שהוא Microsoft Excel במקרה זה.
  2. מיידי: זוהי ההודעה שברצונך להציג. אתה יכול להשתמש במרחב זה כדי לכתוב כמה שורות או אפילו להציג טבלאות/נתונים כאן.
  3. כפתורים): בעוד אישור הוא לחצן ברירת המחדל, אתה יכול להתאים אותו להצגת לחצנים כגון כן/לא, כן/לא/ביטול, נסה/התעלם וכו '.
  4. סמל סגור: תוכל לסגור את תיבת ההודעות על ידי לחיצה על סמל הסגירה.

תחביר הפונקציה VBA MsgBox

כפי שציינתי, MsgBox הוא פונקציה ויש לה תחביר הדומה לפונקציות VBA אחרות.

MsgBox (שורת [, לחצנים] [, כותרת] [, קובץ עזרה, הקשר])

  • מיידי - זהו טיעון חובה. הוא מציג את ההודעה שאתה רואה ב- MsgBox. בדוגמה שלנו, הטקסט "זוהי דוגמה ל- MsgBox" הוא 'ההנחיה'. תוכל להשתמש בעד 1024 תווים בשורת הפקודה, ותוכל גם להשתמש בה להצגת ערכי המשתנים. במקרה שאתה רוצה להציג הודעה הכוללת מספר שורות, תוכל גם לעשות זאת (עוד על כך בהמשך הדרכה זו).
  • [כפתורים] - הוא קובע אילו לחצנים וסמלים יוצגו ב- MsgBox. לדוגמה, אם אני משתמש ב- vbOkOnly, הוא יציג רק את הלחצן אישור, ואם אני משתמש ב- vbOKCancel, הוא יראה גם את הלחצנים אישור וגם ביטול. אכסה סוגים שונים של כפתורים בהמשך הדרכה זו.
  • [כותרת] - כאן תוכל לציין איזה כיתוב אתה רוצה בתיבת הדו -שיח של ההודעה. זה מוצג בשורת הכותרות של ה- MsgBox. אם לא תציין כלום, הוא יראה את שם היישום.
  • [קובץ עזרה] - תוכל לציין קובץ עזרה שניתן לגשת אליו כאשר משתמש לוחץ על כפתור העזרה. כפתור העזרה יופיע רק כאשר אתה משתמש בקוד הכפתור עבורו. אם אתה משתמש בקובץ עזרה, עליך גם לציין את טיעון ההקשר.
  • [הֶקשֵׁר] - זהו ביטוי מספרי שהוא מספר הקשר העזרה שהוקצה לנושא העזרה המתאים.

אם אתה חדש במושג Msgbox, אל תהסס להתעלם מהטיעונים [עזרה] ו [הקשר]. לעתים רחוקות ראיתי את השימוש בהם.

הערה: כל הארגומנטים בסוגריים מרובעים הינם אופציונאליים. רק טענת 'הנחיה' היא חובה.

יציבות לחצני MsgBox של Excel VBA (דוגמאות)

בחלק זה, אכסה את סוגי הכפתורים השונים שבהם תוכל להשתמש עם VBA MsgBox.

לפני שאני אראה לך את קוד ה- VBA עבורו וכיצד נראה ה- MsgBox, הנה טבלה המפרטת את כל קבועי הכפתורים השונים שבהם תוכל להשתמש.

כפתור קבוע תיאור
vbOK רק מציג רק את הלחצן אישור
ביטול vbOK מציג את הלחצנים אישור וביטול
vbAbortRetryIgnore מציג את הלחצנים Abort, Retry ו- Ignore
vbJa לא מציג את הלחצנים כן ולא
vbYesNoCancel מציג את הלחצנים כן, לא וביטול
vbRetryCancel מציג את הלחצנים 'נסה' ו'בטל '
vbMsgBoxHelpButton מציג את כפתור העזרה. כדי שזה יעבוד, עליך להשתמש בארגומנטים של עזרה והקשר בפונקציה MsgBox
vbDefaultButton1 הופך את הכפתור הראשון לברירת מחדל. אתה יכול לשנות את המספר כדי לשנות את לחצן ברירת המחדל. לדוגמה, vbDefaultButton2 הופך את הלחצן השני לברירת המחדל

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

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

כעת נסתכל על כמה דוגמאות כיצד ניתן להציג את הכפתורים השונים ב- MsgBox וכיצד הוא נראה.

לחצני MsgBox - vbOKOnly (ברירת מחדל)

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

להלן הקוד שיתן את תיבת ההודעות הזו:

Sub DefaultMsgBox () MsgBox "זוהי תיבת דוגמה" סיום תת

שים לב שמחרוזת הטקסט צריכה להיות במרכאות כפולות.

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

לחצני MsgBox - אישור וביטול

אם ברצונך להציג רק את אישור ולחצן ביטול, עליך להשתמש בקבוע vbOKCancel.

Sub MsgBoxOKCancel () MsgBox "רוצה להמשיך?", VbOKCancel End Sub

לחצני MsgBox - הפסק, נסה שוב והתעלם

תוכל להשתמש בקבוע 'vbAbortRetryIgnore' כדי להציג את הלחצנים Abort, Retry ו- Ignore.

Sub MsgBoxAbortRetryIgnore () MsgBox "מה אתה רוצה לעשות?", VbAbortRetryIgnore End Sub

לחצני MsgBox - כן ולא

אתה יכול להשתמש בקבוע 'vbYesNo' כדי להציג את הלחצנים כן ולא.

Sub MsgBoxYesNo () MsgBox "האם עלינו לעצור?", VbYesNo End Sub

לחצני MsgBox - כן, לא ובטל

אתה יכול להשתמש בקבוע 'vbYesNoCancel' כדי להציג את הלחצנים כן, לא וביטול.

Sub MsgBoxYesNoCancel () MsgBox "האם עלינו לעצור?", VbYesNoCancel End Sub

לחצני MsgBox - נסה ובטל שוב

אתה יכול להשתמש בקבוע 'vbRetryCancel' כדי להציג את הלחצנים 'נסה' ו'בטל '.

תת MsgBoxRetryCancel () MsgBox "מה אתה רוצה לעשות הלאה?", VbRetryCancel End Sub

לחצני MsgBox - לחצן עזרה

תוכל להשתמש בקבוע 'vbMsgBoxHelpButton' כדי להציג את כפתור העזרה. אתה יכול להשתמש בו עם קבועי כפתורים אחרים.

Sub MsgBoxRetryHelp () MsgBox "מה אתה רוצה לעשות הלאה?", VbRetryCancel + vbMsgBoxHelpButton End Sub

שים לב שבקוד זה שילבנו שני קבועי לחצנים שונים (vbRetryCancel + vbMsgBoxHelpButton). החלק הראשון מציג את הלחצנים 'נסה' ו'בטל 'ובחלק השני את לחצן' עזרה '.

לחצני MsgBox - הגדרת כפתור ברירת מחדל

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

להלן הקוד שיגדיר את הלחצן השני (כפתור 'לא') כברירת המחדל.

Sub MsgBoxOKCancel () MsgBox "מה אתה רוצה לעשות הלאה?", VbYesNoCancel + vbDefaultButton2 End Sub

ברוב המקרים, הלחצן השמאלי ביותר הוא לחצן ברירת המחדל. אתה יכול לבחור לחצנים אחרים באמצעות vbDefaultButton2, vbDefaultButton3 ו- vbDefaultButton4.

קבועי סמלי Excel VBA MsgBox (דוגמאות)

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

להלן טבלה המפרטת את הקוד שיציג את הסמל המתאים.

אייקון קבוע תיאור
vb קריטי מציג את סמל ההודעה הקריטית
vbQuestion מציג את סמל השאלה
vb קריאה מציג את סמל הודעת האזהרה
vbInformation מציג את סמל המידע

סמלים של MsgBox - קריטי

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

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

Sub MsgBoxCriticalIcon () MsgBox "זוהי קופסת דוגמה", vbCritical End Sub

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

Sub MsgBoxCriticalIcon () MsgBox "זוהי קופסת דוגמה", vbYesNo + vbCritical End Sub

אייקונים של MsgBox - שאלה

אם ברצונך להציג אייקון קריטי ב- MsgBox שלך, השתמש בקבוע vbQuestion.

Sub MsgBoxQuestionIcon () MsgBox "זוהי קופסת דוגמה", vbYesNo + vbQuestion End Sub

אייקונים של MsgBox - קריאה

אם ברצונך להציג סמל קריאה ב- MsgBox שלך, השתמש בקבוע vbExclamation.

Sub MsgBoxExclamationIcon () MsgBox "זוהי קופסת דוגמה", vbYesNo + vbExclamation End Sub

סמלים של MsgBox - מידע

אם ברצונך להציג סמל מידע ב- MsgBox שלך, השתמש בקבוע vbInformation.

Sub MsgBoxInformationIcon () MsgBox "זוהי קופסת דוגמה", vbYesNo + vbInformation End Sub

התאמה אישית של כותרת והנחיה ב- MsgBox

בעת שימוש ב- MsgBox, באפשרותך להתאים אישית את הכותרת ואת הודעות ההודעה.

עד כה, הדוגמה שראינו השתמשה ב- Microsoft Excel ככותרת. במקרה שאתה לא מציין את ארגומנט הכותרת, MsgBox משתמש אוטומטית בכותרת האפליקציה (שהייתה Microsoft Excel במקרה זה).

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

Sub MsgBoxInformationIcon () MsgBox "האם אתה רוצה להמשיך?", VbYesNo + vbQuestion, "שלב 1 מתוך 3" סיום תת

באופן דומה, תוכל גם להתאים אישית את הודעת ההודעה.

תוכל גם להוסיף שורות שורה בהודעת ההנחיה.

בקוד להלן, הוספתי שובר שורות באמצעות 'vbNewLine'.

תת MsgBoxInformationIcon () MsgBox "האם אתה רוצה להמשיך?" & vbNewLine & "לחץ על כן להמשך", vbYesNo + vbQuestion, "שלב 1 מתוך 3" סיום תת

תוכל גם להשתמש בתו החזרת הכרכרה - Chr (13) - או הזנת שורה - Chr (10) כדי להכניס שורה חדשה להודעת הפקודה.

שים לב שאתה יכול להוסיף שורה חדשה להודעת ההנחיה בלבד ולא לכותרת.

הקצאת ערך MsgBox למשתנה

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

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

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

אז אם אני לוחץ על כפתור כן, הפונקציה MsgBox מחזירה ערך (6 או vbYes הקבוע) שבו אוכל להשתמש בקוד שלי. באופן דומה, האם המשתמש בוחר את הלחצן No, הוא מחזיר ערך אחר ((7 או ה- vbNo הקבוע)) שאני יכול להשתמש בו בקוד.

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

לחצו על הכפתור קָבוּעַ ערך
בסדר vbOk 1
לְבַטֵל vbCancel 2
לְהַפִּיל vbAbort 3
נסה שוב vbRetry 4
להתעלם vbIgnore 5
כן vb כן 6
לא vb לא 7

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

בקוד שלהלן, אם המשתמש לוחץ על כן, הוא מציג את ההודעה "לחצת על כן", ואם המשתמש לוחץ על לא, הוא יראה "לחץ על לא".

Sub MsgBoxInformationIcon () Result = MsgBox ("האם אתה רוצה להמשיך?", VbYesNo + vbQuestion) אם Result = vbYes ואז MsgBox "לחצת כן" אחרת: MsgBox "לחצת לא" סוף אם סוף תת

בקוד הנ"ל הקצתי את ערך הפונקציה MsgBox למשתנה התוצאה. כאשר אתה לוחץ על כפתור כן, משתנה התוצאה מקבל את קבוע vbYes (או את המספר 6) וכאשר אתה לוחץ על לא, משתנה התוצאה מקבל את קבוע vbNo (או את המספר 7).

לאחר מכן השתמשתי במבנה If Then Else כדי לבדוק אם משתנה התוצאה מחזיק את הערך vbYes. אם כן, היא מציגה את ההנחיה "לחצת כן", אחרת היא מראה "לחץ על לא".

אתה יכול להשתמש באותו רעיון כדי להריץ קוד אם משתמש לוחץ על כן ולצאת מהסאב כשהוא לוחץ על מס.

הערה: כאשר אתה מקצה את פלט MsgBox למשתנה, עליך לשים את הארגומנטים של הפונקציה MsgBox בסוגריים. למשל, בשורה תוצאה = MsgBox ("האם אתה רוצה להמשיך?", VbYesNo + vbQuestion), אתה יכול לראות שהטיעונים נמצאים בתוך סוגריים.

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

אולי תאהב גם את מדריכי ה- VBA הבאים של Excel:

  • פונקציית פיצול VBA של Excel.
  • פונקציית InStr VBA של Excel.
  • עבודה עם תאים וטווחים ב- Excel VBA.
  • עבודה עם דפי עבודה ב- VBA.
  • עבודה עם חוברות עבודה ב- VBA.
  • שימוש בלולאות ב- Excel VBA.
  • הבנת סוגי הנתונים של Excel VBA (משתנים וקבועים)
  • כיצד ליצור ולהשתמש בחוברת עבודה מאקרו אישית ב- Excel.
  • דוגמאות שימושיות לקוד מאקרו של Excel.
  • שימוש ב- Next Loop ב- Excel VBA.
  • אירועי Excel VBA - מדריך קל (ומלא).
  • כיצד להריץ מאקרו ב- Excel-מדריך מלא שלב אחר שלב.
  • כיצד ליצור ולהשתמש בתוסף Excel.

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

wave wave wave wave wave