Microsoft Excel VBA의 MsgBox
VBA는 Visual Basic for Applications
의 줄임말로 개발자가 Microsoft Office 응용 프로그램을 사용하면서 다양한 기능을 제공하는 프로그래밍 언어입니다.
이번 글에서는 VBA의 MsgBox
기능에 대해 알아보겠습니다.
VBA의 ‘MsgBox’
MsgBox
는 코드가 실행될 때 메시지 상자를 표시하는 VBA의 기능입니다. 메시지 상자가 표시되면 코드가 중지됩니다.
그런 다음 사용자의 입력을 기다리고 그에 따라 실행을 계속합니다. 이 대화 상자에서 메시지를 사용자 지정하고 사용자가 선택한 옵션에 따라 코드가 동작하도록 할 수 있습니다.
VBA에서 MsgBox
함수의 구문은 다음과 같습니다.
MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])
MsgBox
함수는 위에 표시된 것처럼 여러 인수를 사용합니다. 아래에 설명되어 있습니다.
-
prompt
: 이 인수는 대화 상자에서 메시지로 표시되는String
유형 표현식을 나타냅니다.프롬프트
에 표시할 수 있는 문자 수에는 제한이 있습니다. 즉, 문자가 차지하는 공간에 따라 약 1024자입니다.prompt
인수를 사용하여 변수 값을 표시할 수도 있습니다. 줄 사이에 캐리지 리턴 또는 줄 바꿈 문자를 사용하여 메시지를 별도의 줄로 나눌 수도 있습니다. -
버튼
: 이 인수에는 숫자 값이 있습니다. 표시할 버튼의 종류와 아이콘의 스타일을 지정하는데 사용합니다.MsgBox
의 버튼 수를 선택할 수도 있습니다.buttons
인수의 기본값은0
이며OK
버튼만 표시합니다. 이 기사에서는 다양한 유형의 버튼과 아이콘에 대해 설명합니다. -
제목
: 제목 표시줄에 표시되는MsgBox
의 캡션을 지정하는문자열
유형 인수를 나타냅니다. 이 인수를 작성하지 않으면 응용 프로그램의 이름이 여기에 표시됩니다(예:Microsoft Excel
). -
helpfile
: 여기에서 사용자가도움말
버튼을 클릭할 때 도움이 되는문자열
표현식으로 도움말 파일을 지정할 수 있습니다. 이 버튼은 아래에서 언급할 특정 코드를 사용하여 표시됩니다.helpfile
인수를 지정하면context
도 제공해야 합니다. -
컨텍스트
: 도움말 작성자가 도움말 항목에 할당하는 도움말 컨텍스트 번호입니다.context
인수를 지정하는 경우helpfile
도 제공해야 합니다.
참고:
prompt
인수만 필요합니다. 나머지는 선택 사항으로 지정할 수 있습니다.
VBA MsgBox
버튼
위에서 언급했듯이 MsgBox
함수의 buttons
인수는 대화 상자에 표시되는 버튼의 수와 유형을 명시할 수 있습니다. 이는 버튼 상수 또는 해당 값을 지정하여 수행됩니다.
일반적인 유형의 버튼 설정은 아래에 요약되어 있습니다.
vbOKOnly
: 이 버튼의 값은0
입니다.확인
버튼만 표시하는 데 사용됩니다.vbOKCance
: 이 버튼의 값은1
입니다.확인
및취소
버튼이 모두 표시됩니다.vbAbortRetryIgnore
: 값은2
입니다.Abort
,Retry
및Ignore
버튼이 표시됩니다.vbYesNoCance
: 값은3
입니다.예
,아니오
및취소
버튼이 표시됩니다.vbYesNo
: 값이4
인 버튼입니다.예
및아니오
버튼이 표시됩니다.vbRetryCance
: 이 버튼의 값은5
입니다.재시도
및취소
버튼이 표시됩니다.vbDefaultButton1
: 첫 번째 버튼이 기본으로 설정됩니다. 숫자를 변경하면 기본 버튼이 변경됩니다. 예를 들어vbDefaultButton2
는 두 번째 버튼이 기본값임을 의미합니다. 값도 각각 변경됩니다.vbMsgBoxHelpButton
: 이에 대한 값은16384
입니다.도움말
버튼이 표시됩니다. 이를 사용할 때helpfile
및context
인수를 지정해야 합니다. 그렇지 않으면 작동하지 않습니다.
VBA MsgBox
반환 값
MsgBox
함수는 누른 버튼에 따라 정수 유형 값을 반환합니다. 반환되는 해당 숫자 값이 있는 7개의 반환 값 상수가 있습니다.
vbOK
동사 취소
vb중단
vb재시도
vb무시
vb예
vb아니오
이러한 숫자 값을 변수에 저장하고 그에 따라 코드에서 작업을 수행할 수 있습니다.
VBA MsgBox
아이콘
VBA MsgBox
에 표시되는 아이콘을 사용자 정의할 수 있습니다. 다음과 같은 유형일 수 있습니다.
-
vb크리티컬
-
vb질문
-
동사 감탄사
-
동사 정보
예 1: 예/아니요 MsgBox
MsgBox
기능을 사용하는 방법을 보여주는 몇 가지 샘플 코드를 살펴보겠습니다. Yes
및 No
버튼을 표시하는 Yes/No MsgBox
의 예를 제공합니다.
이에 대한 코드는 다음과 같습니다.
Sub YesNoMsgBox()
MsgBox "Still Want To Continue?", vbQuestion + vbYesNo
End Sub
예 2: 경고 MsgBox
Abort
, Retry
또는 Ignore
옵션과 함께 경고 메시지를 표시하는 MsgBox
의 예를 살펴보겠습니다. 또한 vbNewLine
및 title
인수의 사용법을 보여줍니다.
Sub WarningMsgBox()
MsgBox "An exception occured" & vbNewLine & "Choose what you want to do", vbExclamation + vbAbortRetryIgnore, "Exception"
End Sub
예 3: MsgBox
를 변수에 할당
위의 예에서 버튼을 눌러도 특별히 수행되는 작업은 없습니다. 그러나 사용자가 선택한 버튼에 따라 코드의 동작 과정을 변경하려면 MsgBox
반환 값을 변수에 저장해야 합니다.
아래 코드를 사용하여 어떻게 할 수 있는지 봅시다.
Sub MsgBoxExample()
Dim result As Integer
result = MsgBox("Do you want to continue?", vbYesNo + vbQuestion)
If result = vbYes Then ' Or result == 6
MsgBox "You clicked Yes"
End If
If result = vbNo Then ' Or result == 7
MsgBox "You clicked No"
End If
End Sub
이 매크로를 실행하면 다음 MsgBox
가 표시됩니다.
예
를 클릭하면 이 MsgBox
가 표시됩니다.
마찬가지로 아니오
를 클릭하면 다음 MsgBox
가 표시됩니다.
결론
이것은 MsgBox
기능과 VBA를 사용하여 사용자 지정하는 다양한 방법에 대한 논의를 요약한 것입니다. 계속 공부하다!
Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!
GitHub