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

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


댓글 남기기