이번에 작성할 내용은 엑셀 매크로 InputBox 함수 이용 원하는 값 입력 방법 대한 내용입니다. 원하는 값을 입력하고 싶을 때 InputBox 함수를 이용하는데 셀에 직접적으로 입력하는 방법으로도 활용이 가능합니다.
InputBox 함수
: InputBox 함수에 대해서 먼저 설명 드리도록 하겠습니다. InputBox 함수는 코드를 구현할 때 원하는 값을 입력을 할 때 사용하는 함수입니다.
InputBox 함수는 InputBox 내용, InputBox 제목, InputBox의 위치 그리고 InputBox 입력 값에 대한 Type 속성값을 구성이 되는 함수입니다.
– InputBox 속성 값
- InputBox 내용
- InputBox 제목
- InputBox의 위치
- InputBox 입력 값에 대한 Type 속성값
InputBox 를 코드로 구현해보면 아래와 같습니다. 앞에 Application.InputBox() 로 구현이 되는 점도 참조 부탁 드립니다.
– InputBox(InputBox 내용, InputBox 제목, 기본값, InputBox의 X축 위치, InputBox의 Y축 위치, InputBox Type)
마지막 속성값인 InputBox Type Value 값은 수식, 숫자, 텍스트, 논리값 등으로 구분해서 입력이 가능합니다. 기본값은 String 인 텍스트 Type으로 설정이 되어 있습니다.
– InputBox Type Value
- 0 : 수식
- 1 : 숫자
- 2 : 텍스트 (String)
- 4 : 논리값
- 8 : 지정된 Range와 같은 셀 참조
- 16 : #N/A 오류값
- 64 : 값 배열
함께 보면 도움이 되는 글
▶ 엑셀 매크로 Clear ClearContents ClearFormat 함수 사용 방법
▶ 엑셀 매크로 글자색 배경색 설정 방법
▶ 엑셀 매크로 VBA 사용 환경 설정방법
▶ 엑셀 셀 텍스트 나누기
InputBox 함수 이용하여 코드 구현
: InputBox 함수를 이용하여 코드를 한번 구현해보도록 하겠습니다. 제가 구현할 코드는 InputBox Type을 지정하는 셀을 참조하는 방식으로 구현해보도록 하겠습니다.
그럼 셀을 지정을 하면 InputBox로 입력한 내용이 입력이 되는 코드와 지정된 셀 범위에 있는 값을 이용하여 수식 결과 값을 도출하는 코드 이렇게 2가지를 구현해보도록 하겠습니다.
1) 셀을 지정을 하면 InputBox로 입력한 내용이 입력이 되는 코드
: 셀 영역을 지정을 하면 InputBox에 입력하는 내용이 지정한 영역 모든 셀에 일괄적으로 값이 입력이 되는 코드입니다. 코드를 구현하면 아래와 같습니다.
======================================================
Sub Code1()
Dim InputRange1 As Range
Set InputRange1 = Application.InputBox(“영역 값 입력”, “셀 영역 지정”, Type:=8)
InputRange1.Select
Selection.Value = “원하는 값을 셀에 입력”
End Sub
======================================================
위에서 구현한 코드를 실행하면 지정한 영역에 입력을 한 “원하는 값을 셀에 입력” 이 모두 입력이 되는 것을 확인하실 수 있습니다.
InputBox 함수 이용하여 수식 적용
: 그럼 다음은 위에서 지정된 셀 영역에 일괄적으로 내용을 입력하는 코드를 구현했다면 이제는 기존에 입력된 셀 값을 이용하여 수식 결과 값을 도착 할 수 있는 코드를 구현해보도록 하겠습니다.
코드를 구현하면 아래와 같이 구현을 할 수 있습니다. InputBox Type은 지정된 Range와 같은 셀 참조 값을 이용해야 하기 때문에 “8” 값을 입력을 하였습니다.
======================================================
Sub Code2()
Dim InputRange2 As Range
Set InputRange2 = Application.InputBox(“영역 내 평균 값 계산”, “셀 영역 지정”, Type:=8)
MsgBox “영역 내 평균 결과 값= ” & Application.WorksheetFunction.Average(InputRange2)
End Sub
======================================================
위에서 첫번째로 셀 내용 일괄 입력 하는 코드에 평균값을 추가적으로 구해야 하기 때문에 “Application.WorksheetFunction.Average()” 함수를 이용하여 지정된 영역의 평균 값을 구해주는 코드를 사용하였습니다.
해당 코드를 실행을 해보면 지정한 셀 영역의 평균값을 반환하는 걸 확인하실 수 있습니다.
여기까지 작성하도록 하겠습니다. 지금까지 엑셀 매크로 InputBox 함수 이용 원하는 값 입력 방법 대해서 포스팅을 작성하였습니다. 도움이 되셨으면 합니다.
처음에는 엑셀 매크로가 어렵게 느껴지시겠지만 익숙해지면 업무를 수행하시는데 정말 많은 도움이 되실 겁니다. 감사합니다.