VBA InputBox – 사용자가 입력한 값 가져오기

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

Last updated on 5월 6, 2023

이 튜토리얼에서는 VBA 입력상자(InputBox)를 사용하여 사용자가 입력한 값을 가져오는 방법을 보여드립니다.

VBA 입력 상자를 사용하면 사용자에게 정보를 입력하라는 메시지를 표시할 수 있습니다. 입력된 정보는 VBA 코드 또는 Excel 워크시트에서 사용할 수 있습니다.

VBA 변수로 선언한 입력상자

VBA 코드에서 변수를 선언하면 입력 상자에 입력한 정보를 저장할 수 있습니다. 그런 다음 코드에서 이 변수를 사용할 수 있습니다.

입력 상자에서 반환하려는 정보 유형에 따라 텍스트(문자열 또는 Variant 변수)를 반환하거나 숫자(integer, long, double 또는 single variable)를 반환하도록 특정 유형의 변수를 선언할 수 있습니다.

문자열 변수로 선언한 입력상자

다음은 데이터를 문자열 변수로 반환하는 입력상자를 만드는 방법입니다.

Dim strInput as String

strInput = InputBox("입력상자입니다", "제목", "여기에 텍스트를 입력하세요")

우선, 변수를 선언한 것을 주목하세요. 이 변수에는 사용자가 입력한 값이 할당됩니다. 입력 상자에 텍스트 문자열(영숫자 포함)을 허용하기 위해 변수 유형 String을 사용했습니다.

숫자 변수로 선언한 입력상자

숫자 변수를 선언하는 경우 입력 상자에 숫자만 입력해야 합니다.

Dim iInput As Integer
iInput = InputBox("숫자를 입력해 주세요", "인보이스 번호 생성", 1)

우선 숫자 변수를 정수 변수(Integer)로 선언하였습니다. 그런 다음 입력 상자에 기본값 1을 입력하였습니다.

숫자 대신 문자열을 입력한 다음 확인을 클릭하면 숫자 변수가 문자열을 허용하지 않으므로 유형 불일치 오류가 발생합니다.

사용자가 입력한 값 가져오기

다음은 입력 상자의 기능 중 가장 많이 사용되는 기능에 대한 예제입니다.

 

 

 

 

다음 코드는 세 가지 작업을 수행합니다:

1. InputBox를 사용하여 입력을 요청하고 변수에 할당합니다.

2. 입력을 확인하고, 그렇지 않으면 하위 프로시저를 종료합니다.

3. 메시지 박스에 입력을 반환합니다.

Public Sub MyInputBox()

Dim MyInput As String
MyInput = InputBox("입력상자입니다", "제목", "여기에 텍스트를 입력하세요")


If MyInput = "여기에 텍스트를 입력하세요" Or MyInput = "" Then
  Exit Sub
End If

MsgBox "입력상제에 입력한 값 : " & MyInput

End Sub

입력상자에 입력한 값을 Excel 시트에 반환하기

입력 상자에 입력한 값을 Excel 시트의 특정 셀로 반환할 수 있습니다.

Range("P1") = InputBox("이름을 입력해 주세요", "이름 입력", "여기에 이름을 입력하세요")

변수를 사용하여 입력 데이터를 Excel 시트에 반환할 수도 있습니다.

Sub EnterNumber()
   On Error Resume Next
   Dim dblAmount As Double
   dblAmount = InputBox("필요한 수량을 입력해 주세요", "수량 입력")
   If dblAmount <> 0 Then
      Range("A1") = dblAmount
   Else
      MsgBox "수량을 입력 후 확인 버튼을 눌러주세요!"
   End If
End Sub

위 예제에서는 숫자를 입력해야 합니다. 숫자를 입력하면 dblAmount 변수에 입력한 수량이 저장되고 A1 셀에 변수에 저장된 값이 입력됩니다. 숫자를 입력하지 않으면 “수량을 입력 후 확인 버튼을 눌러주세요!” 라는 메시지 박스가 표시되고 A1 셀에 아무 것도 입력되지 않습니다.

 

Access VBA에서 VBA 입력 상자 사용하기

Access VBA 입력 상자는 Excel에서와 마찬가지로 정확히 동일한 방식으로 작동합니다. 메시지 상자 형태로 사용자 입력을 반환합니다.

사용자 입력을 데이터베이스에 반환하려면 Excel에서 사용되는 범위 개체가 아닌 Recordset 객체를 사용해야 합니다.

Sub EnterInvoiceNumber()
   Dim dbs As Database
   Dim rst As Recordset
   Set dbs = CurrentDb
   Set rst = dbs.OpenRecordset("tblMatters", dbOpenDynaset)
   With rst
      .AddNew
      !InvNo = InputBox("인보이스 번호를 입력하세요", "인보이스 번호 생성", 1)
      .Update
   End With
   rst.Close
   Set rst = Nothing
   Set dbs = Nothing
End Sub

 

간편한 VBA 코딩

온라인에서 VBA 코드를 더 이상 검색하지 않아도 됩니다. 초보자도 최소한의 코딩 지식으로 프로시저를 처음부터 코딩할 수 있습니다. 코드를 빠르게 작성하고 싶으시다면 모든 사용자를 위한 VBA 코드 작성기인 AutoMacro에 대해 자세히 알아보세요!

alt text

 

자세히 알아보기!

 

vba-free-addin

VBA 코드 예시 추가 기능

본 웹사이트에 있는 모든 코드 예시에 쉽게 접근해보세요.

메뉴로 이동하여 클릭만 하면 코드는 모듈에 바로 입력됩니다. .xlam 추가 기능.

(설치가 필요 없습니다!)

무료 다운로드

VBA 코드 예시로 돌아가기