본문 바로가기

엑셀/VBA

VBA 내장 함수 - MsgBox 함수

반응형

엑셀에서 다양한 함수를 제공하여 계산을 하는 데 이용할 수 있습니다. 마찬가지로 VBA에서도 이렇게 계산을 하는데 사용할 수 있는 함수를 제공합니다. VBA에서 제공하는 함수에는 어떤 것들이 있는지 알아보고 사용방법 등에 대해 자세히 알아보겠습니다.

 

이번에는 VBA에서 제공하는 함수 중 MsgBox에 대해 알아보겠습니다.

 

 

 

 

1. MsgBox 함수 사용 방법

 매크로를 실행하면 사용자에게 메시지를 전달하거나 어떤 데이터를 입력받을 때 메시지 창을 띄웁니다. 이와 같이 메시지 창을 띄우려면 VBA에서는 MsgBox 함수를 이용해야 합니다.

 

MsgBox 함수를 사용할 때는 다음과 같이 작성하여 사용합니다.

 

    MsgBox ( 메시지 창에 표시할 내용, 버튼 구성, 창 제목)

 

메시지 창에 표시할 내용 : 출력할 메시창에 쓰일 내용을 입력

 

버튼 구성 : 메시지 창에 나타낼 아이콘 모양 및 사용할 버튼 내용을 입력

 

창 제목 : 메시지 창 위에 표시될 제목 입력

 

MsgBox 함수 사용시 버튼 구성창 제목은 생략 가능합니다.

MsgBox 함수 사용에 대한 더 자세한 내용은 아래 링크된 이전 글을 확인하시기 바랍니다.

 

VBA 프로그래밍을 위한 기본 사항 확인하기 II

 

VBA 프로그래밍을 위한 기본 사항 확인하기 II

프로그래밍을 하다 보면 변수를 많이 사용하게 됩니다. 변수는 값을 저장하는 공간이라 생각하시면 되는데 언제든지 변수를 불러들여 프로그램에서 사용할 수 있고 값 또한 변경하면서 사용할

mr-johndoe.tistory.com

 

 

 

 

2. MsgBox 함수로 메시지 창 만들기

 엑셀에서 VBE 창을 열고 Module을 추가합니다.

MsgBox 함수를 이용하여 경고 메시지창을 화면에 띄우려면 다음과 같이 Module 코드 창에 코딩합니다.

 

   Dim s As String

 

   Public Sub 경고_메시지()
      s = MsgBox("경고", vbExclamation + vbOKOnly, "경고 메시지")     
   End Sub

 

문자열 변수인 s를 선언하고 메시지 창에 '경고'라는 내용을 나타내고 경고 아이콘과 확인 버튼을 추가하였으며 메시지 창 제목을 '경고 메시지'로 명했습니다. 이를 실행하면 [그림 1]과 같이 화면에 출력됩니다.

 

경고_메시지_창
[그림 1] 경고 메시지 창

 

이번에는 질문 메시지 창을 출력해보겠습니다. 버튼은 확인과 취소 버튼 두가지를 나타나게 하겠습니다.

 

   Dim s As String

 

   Public Sub 질문_메시지()
       s = MsgBox("당신은 결혼하였습니까?", vbInformation + vbOKCancel, "혼인 확인")
   End Sub

 

이 코딩을 실행하면 [그림 2]와 같이 화면에 출력됩니다.

 

질문_메시지_창
[그림 2] 질문 메시지 창

[그림 2]를 보시면 확인 버튼에 기본 선택되어진 것을 알 수 있습니다. MsgBox 함수 코딩 시 처음에 쓰인 버튼이 기본 선택되며 이렇게 기본 선택된 버튼은 메시지 창에서 엔터를 눌렀을 때 실행되는 버튼을 말합니다.

 

위의 질문 메시지 창을 띄우는 코딩을 다음과 같이 변경하면 취소 버튼이 기본 버튼으로 바뀝니다.

 

   Dim s As String

 

   Public Sub 질문_메시지()
       s = MsgBox("당신은 결혼하였습니까?", vbInformation + vbOKCancel + vbDefaultButton2, "혼인 확인")
   End Sub

 

빨간색으로 표시된 ' + vbDefaultButton2 '를 버튼 구성에 추가하였습니다. 이것은 두번째 버튼을 기본 버튼으로 지정하라는 인수입니다.

 

이 코드를 실행하면 [그림 3]과 같이 취소 버튼이 기본으로 선택되어 질문 메시지 창이 출력됩니다.

 

기본_두번째_버튼_설정_질문_메시지_창
[그림 3] 질문 메시지 창-두번째 버튼이 기본으로 설정

 

반응형