본문 바로가기
Excel/VBA 공부

얼렁뚱땅 엑셀 VBA] InputBox

by excelnote2 2017. 5. 25.



InputBox 함수와 InputBox 매서드





InputBox 함수


사용자로부터 값을 입력받는 함수. 


InputBox는 입력받은 값을 String 형태로 반환. 


기본구문은 아래.



InputBox(prompt, [title], [default], [xpos], [ypos], [helpfile], [context]) 



prompt - 대화상자에 표시될 내용. 생략불가


title - 대화상자의 제목표시줄에 표시될 내용


default - 대화상자에 값을 입력하지 않을 때의 기본 값


xpos, ypos - 대화상자의 위치 값


helpfile, context - F1을 눌렀을 때 보여줄 도움말 파일





1
2
3
4
5
6
7
8
9
Sub 인사()
 
Dim msg As String
 
msg = InputBox("어떻게 불러드릴까요?", Title:="질문", Default:="주인")
 
MsgBox msg
 
End Sub
cs










InputBox 매서드


Application 개체의 매서드로 제공되는 InputBox 매서드


기본 사용법은 InputBox 함수와 동일. 

단, 차이점은

- 반환되는 결과값의 자료형을 지정할 수 있다(InputBox함수는 String형)

- 사용자가 드래그로 워크시트의 범위를 지정할 수 있다

- 입력값에 대한 유효성검사를 할 수 있다.



InputBox(prompt, [title], [default], [left], [top], [helpfile], [context], [type]) 



type 자료형


0 수식

1 숫자

2 문자열(텍스트)

4 논리값

8 셀참조(Range개체)

16 오류값

64 배열




InputBox에 입력되는 값이 type에서 정해준 형식이 아닌 경우 아래 그림처럼 에러 메시지를 보여준다. 






만약 InputBox에 입력되는 값이 문자열이거나 논리값의 형태가 될 경우라면 type을 6으로 지정해준다.

(문자열 2 + 논리값 4)






댓글