VBA MsgBox

Updated on June 11, 2024
Article byJeevan A Y
Edited byAaron Crowe
Reviewed byDheeraj Vaidya, CFA, FRM

Excel VBA MsgBox

VBA MsgBox function is like an output function used to display the generalized message provided by the developer. It is like a print statement. This function or statement has no arguments. The personalized messages in this function are written under double quotes, while one must provide the variable reference for the values.

When we start learning VBA, the first thing we try to learn is the Message Box or MsgBox function. It is nothing but a small box that holds the message to the user. This tutorial will show you how to show a message, customize the message box, icon change, button change, and other modalities of the message box.

Enable Developer Tab

Firstly, if you do not see the Developer tab in your excel, follow the steps below to enable it.

Step 1: Go to FILE > OPTIONS.

vbs msg box

Step 2: Click on Customize Ribbon under Excel Options.

vba msgbox 1

Step 3: On the right-hand side, check the Developer’s box to enable it.

vba msgbox 2

Step 4: Click on “OK” and close this window. Now, you should see the Developer tab in your Excel ribbon.

vba msgbox 3

–>> If you want to learn Excel VBA professionally, then our VBA Basic Course (16+ hours) is the perfect solution. In our Basic Excel VBA course you learn the skill of automating tasks using Variables, Data Types, Ranges, and Cells in VBA. Master Control Structures, including Conditional Statements and Loops, and discover techniques for manipulating data through sorting, filtering, and formatting. By the end of the course, you will be able to apply your acquired skills to real projects, culminating in an Excel VBA project which will solidify your ability to create efficient, automated solutions.

MsgBox Function Syntax

We can see the syntax in the module when we type the word MsgBox. Now, we will introduce you to the syntax.

vba msgbox 14
  • Prompt: This is the first and mandatory argument. In the above example, we must type the word “Welcome to VBA” as the Prompt. It is nothing but the message we need to show. We can show up to 1,024 characters.
  • Button: This is nothing but what kind of button we need to show on the MsgBox. For example, In our previous example, the default button was “OK.”
  • Title: This is the title of the message box. We can customize this title and give our name to the message box in double quotes.
  • [HelpFile]: This is nothing but the help icon you want to show users. If they have doubts and if you have already specified the suggestions, then they can click on this hell file to learn more.
  • [Context]: This is the numerical value assigned to the appropriate help topic.

How to Create a MessageBox using VBA Code?

You can download this VBA MSG Box Excel Template here – VBA MSG Box Excel Template

Follow the below steps to create a simple msg box using the VBA code.

Step 1: Open Visual Basic Editor

Go to the DEVELOPER tab and click on VISUAL BASIC.

vba msgbox 4

Alternative: You can click the shortcut key ALT + F11.

vba macro shortcut key

Step 2: Insert Module

Now, click on INSERT and select MODULE.

vba msgbox 5

It will insert the new MODULE in your VBA editor.

vba msgbox 6

Step 3: Start Subprocedure

Start your excel macro by typing SUB, the head of the macro. Give a MACRO a name and press the “Enter” key.

vba msgbox 31

Step 4: Start Writing Code for MsgBox

  • In between the Head & Tail of the macro, we need to write the code. So start the word Msgbox. It will display the MsgBox function.
vba msgbox 8
  • As soon as you see the word Msgbox press tab, it will start to show the Msgbox syntax.
vba msgbox 9
  • Now, type the word Welcome to VBA in double-quotes.
vba msgbox 10
  • We have created a simple message box macro.

Step 5: Run the Code

  • Now inside the macro, place a cursor and press the key F5, the shortcut key to run a macro.
vba msgbox 11

Step 6: Output

You can see the message box in your Excel window as soon as you run the macro.

vba msgbox 12

Structure of Message Box

Now, we will introduce you to the structure of the Message Box. It consists of four elements.

VBA Message Box specifications

#1 – Title

By default, the message box displays the message box’s title as Microsoft Excel. However, we can modify this as well. For example, after we supply Prompt, we can give our name to the MsgBox.

Step 1: First, give a Prompt, i.e., the message you want to show.

Syntax 15

Step 2: Now, the next argument is Buttons. Ignore this and jump to the next argument, i.e., Title.

vba msgbox 16

Step 3: We have completed it now. Now, run the macro by using the F5 key.

Welcome 17

Now, you can see the difference in the title of the message box. Instead of the default title, Microsoft Excel, it now shows Introduction to VBA as the title.

#2 – Buttons

We have learned how to show a message box and alter the message box title. Now, we will see the option of the message box button.

Once we supply the prompt input, the next thing in the syntax is the message box button.

visual basic appplication 20

We have as many as 20 kinds of Message Box button options, including Yes/No. You can select any one of the available 20 buttons. For example, we have selected vbYesNoCancel.

msgbox 21

Now, run the macro. We will see different message box buttons instead of the default “OK” button.

Result 22

#3 – Combination of Icon & Buttons

We have seen how to modify message box buttons. Along with the message box button, we can also show icons like the image below.

Result 23

There are four kinds of icons available. vbCritical, vbQuestion, vbExclamation, and vbInformation.

To show the button and the icon, we need to combine both by entering the plus (+) icon together.

#1 – vbQuestion Marks Icon


Sub SerialNumber ()
MsgBox “Welcome to VBA”, vbYesNoCancel + VbQuestion,”Introduction to VBA”
End Sub


Result 23
#2 – vbCritical Marks Icon


Sub MessageBoxExample ()
MsgBox “Welcome to VBA”, vbYesNoCancel + VbCritical, “Introduction to VBA”
End Sub


Result 25
#3 – vbExclamation Marks Icon


Sub MessageBoxExample ()
MsgBox “Welcome to VBA”, vbYesNoCancel + VbExclamation, “Introduction to VBA”
End Sub


Result 27
#4 – vbInformation Marks Icon


Sub MessageBoxExample ()
MsgBox “Welcome to VBA”, vbYesNoCancel + VbInformation, “Introduction to VBA”
End Sub


Result msgbox 29

Things to Remember

  • We can combine both button and icon by combining it with a plus (+) icon.
  • We combine many buttons with a plus (+) icon.
  • As we progress to the next levels of VBA, we will see the advanced message box options.
  • We should supply all the numerical prompts with double quotes. However, the numerical values do not require double quotes.

This article has been a guide to VBA MsgBox Function. Here, we learned how to create a message box and customize it along with other modalities using VBA examples and a downloadable Excel template. You may also have a look at the following articles: –