티스토리 뷰

이전 글에서 MsgBox를 통해서 엑셀 매크로 내부의 데이터를 표현하는 방법에 대해서 알아보았습니다. 

이번 글은 데이터를 입력 받을 수 있는 InputBox를 통해서 엑셀 매크로 사용법에 대해서 알아보도록 할께요.


MsgBox에 대해서 아시고 싶으시다면, 아래를 클릭하시면 됩니다. 


InputBox는 사용자로 부터 데이터를 입력 받을 수 있게 도와주는 윈도우입니다. InputBox를 사용하기 위해서는 InputBox의 원형을 알아야 하겠죠.


InputBox의 원형은 아래와 같습니다. 


Public Function InputBox(Prompt, Title, Default, xPos, yPos, Type)


총 6개의 인자를 가지고 있는 것을 확인할 수 있는데요. 각 인자에 대해서 살펴보겠습니다.


 이름

기능 

 Prompt

 메시지에 표시되는 값입니다. 

 Title

 InputBox의 타이틀의 값을 나타냅니다.

 Default

 InputBox가 켜졌을 때 설정되는 초기값을 의미합니다.

 xPos

 스크린의 왼쪽 상단에서 부터 창이 나타나는 왼쪽 위치를 의미합니다. 

 yPos

 스크린의 왼쪽 상단에서 부터 창이 나타나는 위쪽 위치를 의미합니다. 

 Type

 사용자가 입력한 데이터를 프로그램에 전달할 때 사용되는 데이터 타입을 나타냅니다. 타입이 설정이 

 되어 있지 않다면 자동적으로 String에 대한 데이터로 받습니다.  


Prompt를 제외하고, 나머지 5개의 인자는 Optional입니다. 따라서 없어도 무방한 인자인게지요. 하지만 첫 번째 인자인 Prompt는 반드시 코드에 있어야 합니다. 


그럼 예제를 한번 살펴볼까요?

간단하게 InputBox를 이용하여 데이터를 받아와서, MsgBox를 통해서 데이터를 출력해보도록 할게요.


코드는 아래와 같습니다.


Sub InputBoxExample()


    Dim inputData As String    

    inputData = InputBox("데이터를 입력하세요.", "데이터 입력 윈도우입니다.")    

    MsgBox (inputData)    


End Sub


위의 코드를 실행하면 아래와 같은 그림을 볼 수 있습니다. 그림을 통해서 InputBox의 prompt 인자와 Title 인자가 어떻게 적용되는지를 확인할 수 있습니다. 



위의 창에서 아래의 그림처럼 원하는 데이터를 넣어봅니다. 저는 "이것은 테스트입니다."라는 메시지를 넣었습니다. 



데이터를 넣은다음 OK버튼을 누르게 되면, 아래와 같이 MsgBox에 자신이 넣은 데이터가 적용이 되어 뜨는 것을 확인할 수 있습니다. 



간단히 InputBox를 사용하는 방법에 대해서 알아보았는데요. 코드를 살짝 수정을 해서 데이터를 Excel에 넣게끔 변경해보도록 할께요.

변경된 코드는 MsgBox 부분을 Range("범위")를 이용해서 데이터에 직접 쓰게 하는걸로 변경이 되었습니다. 


Sub InputBoxExample()


    Dim inputData As String    

    inputData = InputBox("데이터를 입력하세요.", "데이터 입력 윈도우입니다.")    

    Range("A1").Value = inputData

    

End Sub


이를 실행하면 아래와 같이 A1 셀에 아무런 값이 없다가, 사용자가 입력한 데이터가 적용이 되는 것을 확인할 수 있습니다.



이 글에서는 IntputBox를 이용하여 엑셀 매크로를 사용하는 팁을 배워보았습니다.


이 글이 도움이되셨나요?



댓글