본문 바로가기

EXCEL/VBA

엑셀 MsgBox 활용하기

처음 VBA를 접할때 제일 재미 있었던 부분이 MsgBox를 활용할 때 였던것 같습니다. 아직도 배워야 할게 엄청 많지만 그때는 VBA를 마치 다 배운듯한 느낌을 받았거든요. ^^


MsgBox 자체로는 크게 어려운게 없습니다. 상황에 맞는 버튼을 넣고 때로는 메시지 내용에 적합한 아이콘을 넣으면 끝입니다. 그 뒤로는 반환되는 값에 따라 적당히 코딩하면 되니깐요.

MsgBox의 버튼종류와 아이콘 그리고 입력시 주의사항 정도만 알아보겠습니다.



 

 MsgBox 설명


변수 = MsgBox(Prompt, Buttons, Title, HelpFile, Context)


대화상자에 메시지를 표시하고 사용자가 선택한 버튼의 값을 반환 합니다.



☞ MsgBox의 인수

  • Prompt : 대화상자에 표시할 메시지, 필수로 입력해야 함
  • Buttons : 대화상자에 표시할 버튼, 아이콘 및 버튼기본값 설정, 선택요소로 생략시 기본값은 0
  • Title : 대화상자의 제목, 선택요소로 생략시 "Microsoft Excel" 표기


 

 MsgBox 버튼


내장상수

단추표시

비    고

vbOKOnly

0

[확인]

vbOKCancel

1

[확인] / [취소]

vbAbortRetryIgnore

2

[중단] / [다시시도] / [무시]

vbYesNoCancel

3

[] / [아니오] / [취소]

vbYesNo

4

[] / [아니오]

vbRetryCancel

5

[다시시도] / [취소]

vbMsgHelpButton

16384

[도움말] 추가



 

 MsgBox 아이콘


MsgBox 아이콘 종류

내장상수

아이콘설명

비고

vbCritical

16

중요

vbQuestion

32

질의

vbExclamation

48

경고

vbInformation

64

정보



 MsgBox 버튼 기본값


MsgBox가 나타날때 처음 선택되는 버튼을 설정하는 기본값입니다.


내장상수

설    명

vbDefalutButton1

0

첫번째 단추를 기본값으로 설정

vbDefalutButton2

256

두번째 단추를 기본값으로 설정

vbDefalutButton3

512

세번째 단추를 기본값으로 설정

vbDefalutButton4

768

네번째 단추를 기본값으로 설정


 

 MsgBox 함수의 반환값


MsgBox 버튼을 선택했을때 반환되는 값입니다.


선택버튼

내장상수

반환값

선택버튼

내장상수

반환값

[확인]

vbOK

1

[무시]

vbIgnore

5

[취소]

vbCancel

2

[]

vbYes

6

[중단]

vbAbort

3

[아니오]

vbNo

7

[다시시도]

vbRetry

4

 

 

 



 

 MsgBox 활용


▶ 코드입력 시 주의사항

Sub Msgbox예제1()

    Dim 버튼선택 As Byte

    버튼선택 = MsgBox("안녕하세요?", vbYesNo + vbQuestion, "메세지박스 예제1") '---①

    버튼선택 = MsgBox "안녕하세요?", , "메세지박스" '---② 입력오류

    MsgBox "안녕하세요?", , "메세지박스" '---③

    MsgBox("안녕하세요?", , "메세지박스") '---④ 입력오류

    MsgBox prompt:="안녕하세요?", Title:="메세지박스", Buttons:=16 '---⑤

End Sub


1. MsgBox 코딩 시 변수를 반환받고자 하는 경우는 인수를 (괄호)로 묶어 주어야 합니다.

2. ②과 같이 (괄호)없이 입력하면 아래와 같이 오류 메세지가 나타납니다.

3. 변수를 반환받지 않고 MsgBox만 나타낼때는 ③ 과 같이 (괄호) 없이 입력합니다.

4. 인수명을 입력하면 인수 입력 순서와 , , 없이 입력 가능합니다.



▶ Msgbox 활용

Sub Msgbox예제2()

    Dim 버튼선택 As Byte

    버튼선택 = MsgBox("어느 버튼을 선택하겠습니까?", vbYesNoCancel + vbQuestion, "메세지박스 예제2")

    Select Case 버튼선택

        Case vbYes: MsgBox "[예] 버튼 선택"

        Case vbNo: MsgBox "[아니오] 버튼 선택"

        Case vbCancel: MsgBox "[취소] 버튼 선택"

    End Select

End Sub


1. 일반적으로 MsgBox의 반환값을 Select 구문이나 If 구문과 같이 활용하는 경우가 많습니다.

2. 그리고 많은 분들이 코딩시 변수값을 확인하기 위해 사용하기도 합니다. 물론 직접실행창을 이용해도 되지만 간단한  내용의 경우 MsgBox가 편하기도 하죠.^^



 

 관련글 보기


 InputBox

  

02

  

03