본문 바로가기

엑셀/VBA

VBA 내장 함수 - InputBox 함수

반응형

이전 글에서 MsgBox 함수에 대해 알아보았습니다. 이번에는 InputBox 함수에 대해 알아보겠습니다.

InputBox 함수는 사용자로부터 데이터를 입력받을 때 사용하는 함수입니다. 그럼 InputBox 함수의 사용방법 등에 대해 알아보겠습니다.

 

VBA 내장 함수 - MsgBox 함수

 

VBA 내장 함수 - MsgBox 함수

엑셀에서 다양한 함수를 제공하여 계산을 하는 데 이용할 수 있습니다. 마찬가지로 VBA에서도 이렇게 계산을 하는데 사용할 수 있는 함수를 제공합니다. VBA에서 제공하는 함수에는 어떤 것들이

mr-johndoe.tistory.com

 

 

 

 

1. InputBox 함수

 VBA를 작성하면서 사용자로부터 데이터를 입력받아 처리해야 하는 경우가 있습니다. 이럴 때 InputBox 함수를 사용하면 데이터를 입력받기 위한 메시지 창이 출력되고 그 창에 사용자가 데이터를 입력하면 입력된 데이터를 가져와 프로그램 내에서 처리하게 됩니다.

 

InputBox 함수를 사용하는 방법은 다음과 같습니다.

 

  InputBox ( 메시지 내용, 메시지 창 제목, 기본값, x, y )

 

메시지 내용 : 메시지 창에 나타낼 내용을 적습니다.

 

메시지 창 제목 : 출력될 메시지 창 왼쪽 위에 표시될 창의 제목을 적습니다.

 

기본값 : 데이터가 입력되지 않았을 때 기본적으로 입력란에 표시될 값을 적습니다.

 

x : 엑셀창의 좌측 테두리선으로부터 가로방향으로 메시지 창을 얼마만큼의 간격으로 출력할지 적습니다.

 

y : 엑셀창의 위쪽 테두리선으로부터 세로 방향으로 메시지 창을 얼마만큼의 간격으로 출력할지 적습니다.

 

 

2. 예제를 통해 InputBox 함수 사용법 익히기

 엑셀에서 VBE 창을 열고 Module을 삽입합니다. Module 코딩 창에 Sub 프로시저를 삽입하고 아래와 같이 코딩을 합니다.

 

   Option Explicit
   Dim i As Integer

   Public Sub 입력()
      i = InputBox("당신의 신장은 몇 cm입니까?", "신장 입력", 160)
   End Sub

 

코딩을 마치고 실행을 하면 [그림 1]과 같이 메시지 창이 출력됩니다.

 

InputBox_예제_실행
[그림 1] InputBox 예제 실행

 

 

 

 

3. InputBox 메서드로 데이터 입력받기

 Application 개체에도 InputBox 메서드가 존재하며 이를 이용해 데이터 입력을 받을 수도 있습니다.

사용방법은 다음과 같습니다.

 

  Application.InputBox ( 메시지 내용, 메시지 창 제목, 기본값, x, y, helpfile, helpcontextID, 데이터 형식 )

 

helpfile : 도움말 파일명을 입력합니다. F1 키를 눌렀을 때 도움말이 출력됩니다.

 

helpcontextID : helpfile 인수를 입력하면 이 인수도 반드시 작성해야 하며, 도움말 파일의 항목 번호를 입력합니다.

 

데이터 형식 : 반환할 데이터의 형식을 지정합니다. 입력은 숫자로 입력하는데 각 데이터 형식에 해당하는 번호는 아래 표를 참조하시기 바랍니다.

 

번호 데이터 형식
0 수식
1 숫자
2 텍스트
4 논리값
8 셀 참조

 

Module 코드 창에 코딩을 아래와 같이 합니다.

 

   Option Explicit
   Dim i As Integer


   Public Sub 입력()
       i = Application.InputBox("당신의 신장은 몇 cm입니까?", "신장 입력", 160)
   End Sub

 

2번에서 InputBox 함수를 예제로 사용하였던 코딩에서 InputBox를 Application.InputBox로 변경하여 실행시키면 동일한 결과를 얻을 수 있습니다.

 

InputBox 함수를 사용하였을 때와 Application 개체의 InputBox 메서드를 사용하였을 때 차이점은 출력된 메시지 창에 데이터 입력 없이 닫거나 취소 버튼을 눌렀을 때 반환하는 값이 다릅니다.

 

InputBox 함수를 이용하여 생성한 메시지 창의 경우에는 공백("")을 반환하고, InputBox 메서드 생성한 메시지 창의 경우에는 False를 반환합니다.

 

반응형