안녕하세요, 이번 포스팅은 엑셀 매크로 VBA InputBox 이용하여 값 입력하기대해서 알아보도록 하겠습니다.
엑셀 매크로를 사용하다 보면 InputBox를 많이 사용하게 되는데 이 InputBox에 입력하는 값이 코드에서만 이뤄지는 게 아니고 셀 영역에서 직접적으로 표현되는 방법을 설명드리려고 합니다.
목차
InputBox
: InputBox는 원하는 입력을 하고 싶을 때 호출하는 엑셀 매크로 함수 중이 하나면 간단하게 아래와 같은 코드로 구현이 가능합니다.
- Application.InputBox(InputBox 안에 기재되는 내용, InputBox 제목, 기본값, InputBox가 등장하는 X축 위치, InputBox가 등장하는 Y축 위치, InputBox Type)
InputBox 코드를 구현하면 아래와 같은 사진으로 보이실 겁니다. 해당 사진을 보시면 위에서 설명 드린 내용 중에 다른 것은 다 이해하시기 쉽겠지만 InputBox Type에 대해서는 잘 이해가 될 수 없으니 아래와 같이 정리하였습니다.
InputBox Type | InputBox Type 의미 |
0 | 수식 |
1 | 숫자 |
2 | 텍스트 |
4 | 논리값 (True or False) |
8 | 지정한 Range 와 같은 셀 참조 |
16 | 오류값 (#N/A) |
64 | 값의 배열 |
참고로 InputBox는 기본적으로 텍스트값 즉 String Type으로 반환을 합니다. 해당 반환 타입 값을 위에서 설명드린 값을 이용하여 설정이 가능합니다.
InputBox를 이용하여 값 입력하기
: 그럼 위에서 설명 드린 InputBox에 대해서 이해를 하셨다면 본격적으로 InputBox 이용하여 값 입력하는 코드를 구현해보도록 하겠습니다.
저는 선택한 셀에 제가 지정한 값을 반환하는 코드를 구현해보도록 하겠습니다. 그래서 Type의 값은 8로 지정하고 진행해보도록 하겠습니다. 코드는 아래와 같이 구현하시면 됩니다.
Private Sub RangeInput()
Dim RangeInput As Range
Set RangeInput = Application.InputBox("지정하는 영역에 값 입력", "Range Selection", Type:=8)
RangeInput.Select
Selection.Value = "셀 입괄 입력"
End Sub
위에서 구현한 코드를 실행하면 원하는 영역을 지정할 수 있는데 해당 영역을 지정하고 확인을 누르면 아래와 같이 “셀 일괄 입력”이 일괄적으로 입력되는 걸 확인하실 수 있습니다.
참고로 “RangeInput.Select” 코드를 가져와서 해당 Selection 된 부분에 “셀 일괄 입력”이라는 Value를 입력을 하는 코드라고 이해하시면 됩니다.
InputBox를 이용하여 수식 적용하기
: 그럼 위에서는 단순한 텍스트만 입력을 하였다면 이제는 지정한 영역에 대해서 수식을 적용하는 InputBox 매크로를 구현해보도록 하겠습니다.
제가 구현하려는 사항은 선택한 영역에 있는 숫자들의 평균을 내는 것입니다. 즉 셀의 개수가 분모가 되고 선택한 모든 숫자의 합이 분자가 되는 것이라고 이해하시면 됩니다.
해당 수식 적용 InputBox 코드는 아래와 같이 구현이 가능합니다. "Application.WorksheetFunction.Average()” 함수를 적용하여 지정된 영역에 대해서 계산을 적용하여 계산 값을 반환하는 코드라고 이해하시면 됩니다.
Private Sub RangeFormula()
Dim RangeInput As Range
Set RangeInput = Application.InputBox("지정하는 영역 평균 값 계산", "Range Selection", Type:=8)
MsgBox "선택 영역 평균 값 = " & Application.WorksheetFunction.Average(RangeInput)
End Sub
이상입니다. 지금까지 엑셀 매크로 VBA InputBox 이용하여 값 입력 하기 대해서 포스팅을 작성하였습니다. 제 포스팅을 통해서 엑셀 매크로에 대해서 공부하고 알아가시는데 도움이 되셨으면 합니다. 감사합니다.
2022.05.31 - [엑셀 (Excel)/엑셀 매크로 VBA] - 엑셀 매크로 VBA 열 행 추가 삭제 방법
2021.03.15 - [분류 전체보기] - Excel 엑셀 매크로 - 테이블 Header 를 이용하여 오름차순 정렬하는 매크로 구현하기
2021.03.14 - [엑셀 (Excel)/엑셀 매크로 VBA] - Excel 엑셀 매크로 - 이름 관리자 오류 및 중복 해결 Macro
'엑셀 (Excel)' 카테고리의 다른 글
엑셀 매크로 VBA 마지막 행 및 열 찾기 (0) | 2024.05.28 |
---|---|
엑셀 매크로 VBA SpecialCells 활용 조건에 맞게 셀 선택 방법 (0) | 2022.11.14 |
엑셀 매크로 VBA Clear, ClearContents, ClearFormats 이용 방법 (0) | 2022.10.26 |
엑셀 Excel 셀 텍스트 나누기 (feat. 구분 기호 이용) (1) | 2022.07.22 |
엑셀 매크로 VBA 열 행 추가 삭제 방법 (0) | 2022.05.31 |
댓글