엑셀 매크로 InputBox 함수 이용 원하는 값 입력 방법

이번에 작성할 내용은 엑셀 매크로 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 : 값 배열

   

 


 

 

 

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 함수 이용 원하는 값 입력 방법 대해서 포스팅을 작성하였습니다. 도움이 되셨으면 합니다.

 처음에는 엑셀 매크로가 어렵게 느껴지시겠지만 익숙해지면 업무를 수행하시는데 정말 많은 도움이 되실 겁니다. 감사합니다. 


Leave a Comment