본문 바로가기
VBA 라이브러리

MsgBox 함수

2023. 7. 14.

대화 상자에 메시지를 표시하고 사용자가 버튼을 클릭할 때까지 기다린 다음 사용자가 클릭한 버튼을 나타내는 정수를 반환합니다.

Syntax

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

prompt

prompt : 필수입니다. 대화 상자에서 메시지로 표시되는 문자열 표현식입니다.

Sub PromptExample()

    Dim message As String
    
    message = "안녕하세요! VBA의 MsgBox 함수를 사용하여 메시지를 표시합니다."
    
    MsgBox prompt:=message
    
End Sub

buttons

buttons : 메시지 상자에 표시할 버튼의 유형을 지정하는 역할을 합니다. 이 매개변수는 선택적으로 사용할 수 있으며, 기본값은 0입니다.

vbOKOnly버튼 예제입니다.

Sub OKOnlyExample()

    Dim message As String
    
    message = "안녕하세요!"
    
    MsgBox prompt:=message, Buttons:=vbOKOnly
    
End Sub

vbOkCancel버튼 예제입니다.

Sub ShowMessageBox()

    Dim result As VbMsgBoxResult
    
    result = MsgBox("메시지를 확인하시겠습니까?", vbOKCancel, "확인 메시지")
    
    If result = vbOK Then
        ' 확인 버튼이 클릭되었을 때 실행할 동작
        MsgBox "확인 버튼이 클릭되었습니다.", Title:="알림"
    ElseIf result = vbCancel Then
        ' 취소 버튼이 클릭되었을 때 실행할 동작
        MsgBox "취소 버튼이 클릭되었습니다.", Title:="알림"
    End If
    
End Sub

vbAbortRetryIgnore버튼 예제입니다.

Sub ShowMessageBox()
    Dim result As VbMsgBoxResult
    
    result = MsgBox("작업을 진행하시겠습니까?", vbAbortRetryIgnore, "경고 메시지")
    
    Select Case result
        Case vbAbort
            ' 중단 버튼이 클릭되었을 때 실행할 동작
            MsgBox "작업이 중단되었습니다.", vbCritical, "알림"
        Case vbRetry
            ' 다시 시도 버튼이 클릭되었을 때 실행할 동작
            MsgBox "작업을 다시 시도합니다.", vbInformation, "알림"
        Case vbIgnore
            ' 무시 버튼이 클릭되었을 때 실행할 동작
            MsgBox "경고를 무시하고 계속 진행합니다.", vbExclamation, "알림"
    End Select
End Sub

vbYesNoCancel버튼 예제입니다.

Sub ShowMessageBox()
    Dim result As VbMsgBoxResult
    
    result = MsgBox("작업을 저장하시겠습니까?", vbYesNoCancel, "저장 확인")
    
    Select Case result
        Case vbYes
            ' 예 버튼이 클릭되었을 때 실행할 동작
            MsgBox "작업을 저장합니다.", vbInformation, "알림"
        Case vbNo
            ' 아니오 버튼이 클릭되었을 때 실행할 동작
            MsgBox "작업을 저장하지 않습니다.", vbExclamation, "알림"
        Case vbCancel
            ' 취소 버튼이 클릭되었을 때 실행할 동작
            MsgBox "작업을 취소합니다.", vbExclamation, "알림"
    End Select
End Sub

vbYesNo버튼 예제입니다.

Sub ShowMessageBox()
    Dim result As VbMsgBoxResult
    
    result = MsgBox("계속 진행하시겠습니까?", vbYesNo, "확인 메시지")
    
    If result = vbYes Then
        ' 예 버튼이 클릭되었을 때 실행할 동작
        MsgBox "계속 진행합니다.", vbInformation, "알림"
    ElseIf result = vbNo Then
        ' 아니오 버튼이 클릭되었을 때 실행할 동작
        MsgBox "작업을 취소합니다.", vbExclamation, "알림"
    End If
End Sub

vbRetryCalcel버튼 예제입니다.

Sub ShowMessageBox()
    Dim result As VbMsgBoxResult
    
    result = MsgBox("작업을 다시 시도하시겠습니까?", vbRetryCancel, "다시 시도")
    
    If result = vbRetry Then
        ' 다시 시도 버튼이 클릭되었을 때 실행할 동작
        MsgBox "작업을 다시 시도합니다.", vbInformation, "알림"
    ElseIf result = vbCancel Then
        ' 취소 버튼이 클릭되었을 때 실행할 동작
        MsgBox "작업을 취소합니다.", vbExclamation, "알림"
    End If
End Sub

icon

vbCritical아이콘 예제입니다.

Sub ShowMessageBox()
    MsgBox "치명적인 오류가 발생했습니다.", vbCritical, "오류 메시지"
End Sub

vbQuestion아이콘 예제입니다.

Sub SimpleQuestionExample()
    MsgBox "이 메시지 상자는 질문 아이콘을 사용합니다.", vbQuestion, "질문 예제"
End Sub

Sub SimpleExclamationExample()
    MsgBox "이 메시지 상자는 경고 아이콘을 사용합니다.", vbExclamation, "경고 예제"
End Sub

버튼이 여러개일 경우 기본 버튼을 사용할 수 있습니다.

Sub ShowMessageBox()
    Dim result As VbMsgBoxResult
    
    result = MsgBox("작업을 저장하시겠습니까?", vbYesNo + vbDefaultButton1, "저장 확인")
    
    If result = vbYes Then
        ' 예 버튼이 클릭되었을 때 실행할 동작
        MsgBox "작업을 저장합니다.", vbInformation, "알림"
    ElseIf result = vbNo Then
        ' 아니오 버튼이 클릭되었을 때 실행할 동작
        MsgBox "작업을 저장하지 않습니다.", vbExclamation, "알림"
    End If
End Sub

두 번째 버튼 예제입니다.

Sub ShowMessageBox()
    Dim result As VbMsgBoxResult
    
    result = MsgBox("작업을 저장하시겠습니까?", vbQuestion + vbYesNo + vbDefaultButton2, "저장 확인")
    
    If result = vbYes Then
        ' 예 버튼이 클릭되었을 때 실행할 동작
        MsgBox "작업을 저장합니다.", vbInformation, "알림"
    ElseIf result = vbNo Then
        ' 아니오 버튼이 클릭되었을 때 실행할 동작
        MsgBox "작업을 저장하지 않습니다.", vbExclamation, "알림"
    End If
End Sub

세 번째 버튼 예제입니다.

Sub ShowMessageBox()
    Dim result As VbMsgBoxResult
    
    result = MsgBox("작업을 저장하시겠습니까?", vbQuestion + vbYesNoCancel + vbDefaultButton3, "저장 확인")
    
    Select Case result
        Case vbYes
            ' 예 버튼이 클릭되었을 때 실행할 동작
            MsgBox "작업을 저장합니다.", vbInformation, "알림"
        Case vbNo
            ' 아니오 버튼이 클릭되었을 때 실행할 동작
            MsgBox "작업을 저장하지 않습니다.", vbExclamation, "알림"
        Case vbCancel
            ' 취소 버튼이 클릭되었을 때 실행할 동작
            MsgBox "작업을 취소합니다.", vbExclamation, "알림"
    End Select
End Sub

네 번째 버튼 예제입니다.

Sub DefaultButton4Example()
    Dim UserResponse As Integer

    UserResponse = MsgBox("어떤 옵션을 선택하시겠습니까?", vbYesNoCancel + vbDefaultButton4 + vbMsgBoxHelpButton, "옵션 선택")

    Select Case UserResponse
        Case vbAbort
            MsgBox "옵션 1이 선택되었습니다.", vbInformation, "결과"
        Case vbRetry
            MsgBox "옵션 2가 선택되었습니다.", vbInformation, "결과"
        Case vbIgnore
            MsgBox "옵션 3이 선택되었습니다.", vbInformation, "결과"
    End Select
End Sub

Sub ShowMessageBox()
    Dim UserResponse As Integer

    UserResponse = MsgBox("어떤 옵션을 선택하시겠습니까?", vbYesNoCancel + vbMsgBoxRight, "옵션 선택")

    Select Case UserResponse
        Case vbAbort
            MsgBox "옵션 1이 선택되었습니다.", vbInformation, "결과"
        Case vbRetry
            MsgBox "옵션 2가 선택되었습니다.", vbInformation, "결과"
        Case vbIgnore
            MsgBox "옵션 3이 선택되었습니다.", vbInformation, "결과"
    End Select
End Sub

메시지 박스 버튼을 누르면 다음과 같은 값을 반환합니다.

MsgBox constants

Office VBA reference topic

learn.microsoft.com

'VBA 라이브러리' 카테고리의 다른 글

StrConv 함수  (0) 2023.07.22
StrComp 함수  (0) 2023.07.22
ColorConstants  (0) 2023.07.18
IIf 함수  (0) 2023.07.15
InputBox 함수  (0) 2023.07.15