MsgBox Function

Description

Displays a message in a dialog box, waits for the user to choose a button, and returns a value indicating which button the user has chosen.

Syntax

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

The MsgBox function syntax has these named-argument parts:

Part

Description

prompt

String expression displayed as the message in the dialog box. The maximum length of prompt is approximately 1024 characters, depending on the width of the characters used. If prompt consists of more than one line, be sure to include a carriage return (character code 13) or carriage return linefeed (character code 10) between each line.

buttons

Numeric expression that is the sum of values specifying the number and type of buttons to display, the icon style to use, the identity of the default button, and the modality. If omitted, the default value for buttons is 0.

title

String expression displayed in the title bar of the dialog box. If you omit title, nothing is placed in the title bar.

helpfile

String expression that identifies the Help file to use to provide context-sensitive Help for the dialog box. If helpfile is provided, context must also be provided.

context

Numeric expression that is the Help context number the Help author assigned to the appropriate Help topic. If context is provided, helpfile must also be provided.


The buttons named argument has these values:

Constant

Value

Description

vbOKOnly

0

Display OK button only.

vbOKCancel

1

Display OK and Cancel buttons.

vbAbortRetryIgnore

2

Display Abort, Retry, and Ignore buttons.

vbYesNoCancel

3

Display Yes, No, and Cancel buttons.

vbYesNo

4

Display Yes and No buttons.

vbRetryCancel

5

Display Retry and Cancel buttons.

vbCritical

16

Display Critical Message icon.

vbQuestion

32

Display Warning Query icon.

vbExclamation

48

Display Warning Message icon.

vbInformation

64

Display Information Message icon.

vbDefaultButton1

0

First button is default.

vbDefaultButton2

256

Second button is default.

vbDefaultButton3

512

Third button is default.

vbApplicationModal

0

Application modal; the user must respond to the message box before continuing work in the current application.

vbSystemModal

4096

System modal; all applications are suspended until the user responds to the message box.


The first group of values (0-5) describes the number and type of buttons displayed in the dialog box; the second group (16, 32, 48, 64) describes the icon style; the third group (0, 256, 512) determines which button is the default, and the fourth group (0, 4096) determines the modality of the message box. When adding numbers to create a final value for the argument buttons, use only one number from each group.

Note

These constants are specified by Visual Basic. As a result, the names can be used anywhere in your code in place of the actual values.

Return Values

Constant

Value

Button Selected

vbOK

1

OK

vbCancel

2

Cancel

vbAbort

3

Abort

vbRetry

4

Retry

vbIgnore

5

Ignore

vbYes

6

Yes

vbNo

7

No


Remarks

When both helpfile and context are provided, a Help button is automatically added to the dialog box.

If the dialog box displays a Cancel button, pressing the ESC key has the same effect as choosing Cancel. If the dialog box contains a Help button, context-sensitive Help is provided for the dialog box. However, no value is returned until one of the other buttons is chosen.

In Microsoft Excel, the prompt string cannot contain more than 256 characters.

See Also

InputBox Function.

Example

The example uses the MsgBox function to display a critical-error message in a dialog box with Yes and No buttons. The No button is specified as the default response. The value returned by the MsgBox function depends on the button chosen by the user. For purposes of this example, assume that DEMO.HLP is a Help file that contains a topic with context number equal to 1000.


Msg = "Do you want to continue ?"    ' Define message.
Style = vbYesNo + vbCritical + vbDefaultButton2    ' Define buttons.
Title = "MsgBox Demonstration"    ' Define title.
Help = "DEMO.HLP"    ' Define help file.
Ctxt = 1000    ' Define topic 
    ' context. 
' Display message.
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYES Then    ' User chose Yes 
    ' button.
    MyString = "Yes"    ' Perform some action.
Else    ' User chose No 
    ' button.
    MyString = "No"    ' Perform some action.
End If