반응형
프로그램 동작 중 사용자에게 입력값을 받아야 할 때가 있다. InputBox 함수를 이용해서 해결해 보자!
- InputBox 사용법
- InputBox 함수 입력값 또는 버튼 선택에 따라 다른 코드 진행
입력값 검증
1. InputBox 사용법
Sub Inputbox_Test()
InputBox "내용", "제목", "기본값"
End Sub
Msgbox 함수와 비슷한 인수들을 가지고 있다.
InputBox Prompt, [Title], [default], [xpos], [ypos], [helpfile], [context]
InputBox 함수의 내용에 해당하는 Prompt만 필수이며 나머지 인자는 선택사항이다.
- title: 제목
- default: 시작했을 때 입력되있을 값
- xpos: 가로 위치 (숫자로 입력)
- ypos: 세로 위치 (숫자로 입력)
- helpfile: 도움말 파일
- context: 도움말 항목 번호
2.InputBox 함수 입력값에 따라 다른 코드 진행
Sub Inputbox_Test()
Dim 입력값
입력값 = InputBox("내용", "제목", "기본값")
If 입력값 = "" Then
Debug.Print "입력값 없음"
ElseIf Len(입력값) > 3 Then
Debug.Print "4자리 이상 글자임"
Else
Debug.Print "짧음"
End If
End Sub
취소 버튼을 누르면 입력값에 어떠한 값도 저장되지 않는다.
입력값 검증 코드만들어서 내가 원하는 값을 입력하도록 만들어도 될 듯하다.
3. 입력값 검증
Sub Inputbox_Test()
Dim 입력값
Retry:
입력값 = InputBox("숫자 아무거나 입력", "숫자 입력", , 20000, 7000)
If 0 < 입력값 And 입력값 < 100 Then
Debug.Print 입력값
Else
Debug.Print "실패"
GoTo Retry
End If
End Sub
1~100 사이 숫자를 입력해야 입력상자가 닫히게 만들어놨다.
내가 원하는 값을 넣을 때까지 지속되도록 해서 취소를 눌러도 닫히지가 않는다 훠허허허허
이런식으로 입력값 검증을 할 수도 있다.
반응형
'컴퓨터 공부 > 엑셀 & VBA' 카테고리의 다른 글
[엑셀vba] 파일이름 변경하기 (Name AS) (0) | 2022.01.22 |
---|---|
[엑셀vba] 셀 데이터가 변경되면 옆 셀에 변경된 시간을 표시 해보자! (0) | 2021.09.10 |
[엑셀vba] Msgbox를 이용해서 메세지 팝업창을 띄워보자!(feat. 줄바꿈, 버튼 형식) (4) | 2021.09.09 |
[엑셀vba] 사용자 정의 폼 - Label, TextBox 텍스트의 세로 정렬을 가운데로 해보자! (0) | 2021.08.28 |
[엑셀vba] 함수나 프로시저에 선택적 인수를 받게 해보자. (0) | 2021.08.26 |