반응형
프로그램 동작 중 사용자에게 경고 알림 확인 등 메세지 팝업을 띄워서 알려야 하는 경우가 있다
그럴때 사용할 수 있는 함수는 msgbox !
- Msgbox 사용법
- Msgbox 버튼 선택에 따라 다른 코드 진행
- Msgbox 내용 줄바꿈
1. Msgbox 사용법
Sub Msgbox_Test()
MsgBox "내용", vbOKCancel, "제목"
End Sub
msgbox 함수는 Prompt, [buttons], [title], [helpfile], [context] 5가지 인수를 사용할 수 있다.
이 중에서 Prompt는 필수이며 메세지 내용을 나타낸다.
나머지는 선택사항
buttons = 버튼 형식 선택
title = 메시지박스 제목
helpfile = 도움말 파일[context 인수를 사용하면 필수 항목)
context = 도움말 항목에 지정된 번호 [helpfile 인수를 사용하면 필수 항목)
buttons 인수에 사용할 수 있는 값은 다음과 같다.
buttons 자리에 상수나 값을 넣으면 해당하는 버튼으로 메세지 박스에 노출된다.
필자는 본 예시에서 vbOkCancel 상수를 넣었고 결과 확인, 취소 버튼으로 나타났다.
vbOkCancel 대신 숫자 1을 넣어도 같은 동작을 한다.
helpfile, context 인수 사용법은 필요할때 알아봐야겠다 ^^;
2. Msgbox 버튼 선택에 따라 다른 코드 진행
메세지박스의 버튼 선택 결과에 따라 다른 코드를 진행하고 싶을 땐 다음과 같이 하면 된다.
Option Explicit
Sub Msgbox_Test()
Dim 결과
결과 = MsgBox("내용", vbOKCancel, "제목")
If 결과 = 1 Then '확인 선택
Debug.Print "확인 선택함"
ElseIf 결과 = 2 Then '취소 선택
Debug.Print "취소 선택함"
End If
End Sub
특정 버튼을 눌렀을 때 어떤 값을 반환하는지는 다음 그림을 통해 확인 할 수 있다.
3. Msgbox 내용 줄바꿈
메세지 박스에 내용을 여러줄 넣고 싶을 땐 다음과 같이 해보자.
Sub Msgbox_Test()
MsgBox "첫번째 줄" & vbCrLf & "두번째 줄" & vbCrLf & "세번째 줄" , vbOKCancel, "제목"
End Sub
& vbCrlf 이 녀석을 넣으면 줄바꿈이 된다.
정말 쉽게 해결!
반응형
'컴퓨터 공부 > 엑셀 & VBA' 카테고리의 다른 글
[엑셀vba] 셀 데이터가 변경되면 옆 셀에 변경된 시간을 표시 해보자! (0) | 2021.09.10 |
---|---|
[엑셀vba] InputBOX 함수를 이용해 입력값을 받아보자! (0) | 2021.09.09 |
[엑셀vba] 사용자 정의 폼 - Label, TextBox 텍스트의 세로 정렬을 가운데로 해보자! (0) | 2021.08.28 |
[엑셀vba] 함수나 프로시저에 선택적 인수를 받게 해보자. (0) | 2021.08.26 |
[엑셀vba] 사용자 정의폼 KeyDown 이벤트 - KeyCode 파라미터 (0) | 2021.08.20 |