엑셀 VBA 매크로 프로그램에서 실행 중에 값을 입력 받아야 할 때가 있습니다.
VBA 프로그램 실행 과정에서 값을 입력 받아 사용하는 경우는 여러가지 이유로 발생할 수 있습니다.
VBA 프로그램 내에서 연산에 사용하기 위한 변수 값을 입력 받을 수도 있고, 특정 셀의 데이터 값을 변경하기 위해 값을 입력 받을 수도 있고, 특정 셀을 지정하기 위해 Cell 위치 값을 입력 받을 수도 있습니다.
이렇게 입력 받은 값으로 다음 단계의 프로세스를 진행하는 로직을 구현할 수 있게 됩니다.
이번 글에서는 엑셀 VBA에서 입력 값을 받는 InputBox를 사용하는 방법에 대해 알아보겠습니다.
만약 엑셀에서 VBA 매크로 프로그램을 사용이 처음이라면 엑셀에서 VBA(매크로)를 처음으로 시작할 때 참고하세요. 글을 참고해 보세요.
엑셀 VBA 실행 과에서 InputBox를 사용하여 값 입력 받기
– 엑셀 VBA 매크로에서 입력 값을 받기 위해 사용하는 것이 InputBox 입니다.
– InputBox는 하나의 문자열을 입력받을 때 사용합니다.(String)
– 기본 구조 : InputBox(Prompt, [Title], [Default], [XPos], [YPos], [HelpFile], [Context])
- Prompt : InputBox에 표시할 메시지를 지정합니다. 최대 1024자
- Title : InputBox의 제목 표시줄에 표시할 문자열을 지정합니다. 생략하면 애플리케이션 이름이 제목으로 표시됩니다.
- Default : :사용자에게 표시하기 위해 기본적으로 입력창에 표시하려는 기본 텍스트를 지정합니다.
- XPos : InputBox를 표시할 X축 위치를 지정합니다. 생략하면 가로 방향의 중앙에 위치합니다.
- YPos : InputBox를 표시할 Y축 위치를 지정합니다. 생략하면 세로 방향의 중앙에 위치합니다.
- HelpFile : 도움말 파일을 지정합니다. 표시되는 도움말 버튼을 사용하여 도움말 파일을 열수 있습니다.
- Context : 도움말 파일의 할당된 도움말 컨텍스트 번호를 식별하는 숫자를 입력합니다.
– 기본 구조에서 Prompt만 필수 사항이고 나머지 옵션은 생략해도 됩니다.
엑셀 VBA의 InputBox 사용 예제
▶ 아래 VBA 소스는 위에 첨부한 화면의 실제 소스 입니다.
1. 첫 번째 InputBox에서는 셀 위치를 입력 받기 위해서 사용하였습니다.
2. 두 번째 InputBox는 앞에서 선택할 셀에 들어가 값을 입력 받기 위해 사용하였습니다.
Sub VBA_InputBox()
‘ InputBox 사용
‘
Dim selectCell As String
selectCell = InputBox(“단가를 입력할 셀을 입력하세요”, “셀 위치”)
‘ 입력한 셀 위치를 선택
Range(selectCell).Select
‘ 선택된 셀에 값 입력
ActiveCell = InputBox(“단가를 입력하세요”, “단가 입력”)
End Sub
|
3. 예제 화면에서는 첫 번째 입력에서 “B4” 셀 위치를 입력 받고, 두 번째 입력에서 단가 “500”을 입력 받아 “B4” 셀에 넣어 주는 로직으로 구현되었습니다.
※ 함께 읽으면 도움이 될 만한 다른 포스팅 글입니다.
이 글이 도움이 되었기를 바랍니다. ^-^