VBA 에는 변수에 저장된 값이 어떤 형식인지 확인할 수 있는 함수들이 있습니다. 보통 로직에서 데이터를 검증하기 위해 많이 사용합니다. 왜냐하면 개발자가 생각하는 데이터 형식이 아닌 경우 분기해서 별도의 처리를 해야 하기 때문입니다. 모두 함수명이 Is 로 시작합니다. 반환값은 True/False 로 구분합니다.
▼ 함수의 종류는 다음과 같습니다. 변수에 저장된 데이터가 날짜 형식인지 체크하고 싶다면 IsDate() 함수를 사용해야겠죠.
l IsNumberic() : 데이터가 숫자인지 체크
l IsDate() : 데이터가 날짜형식인지 체크
l IsObject() : 데이터가 개체인지 체크
l IsNull() : Null 값인지 아닌지 체크
l IsEmpty() : 비어있는지 체크
l IsError() : Error 형인지 체크
l IsMissing() : Optional 로 정의된 인수가 전달되었는지 체크
l IsArray() : 배열인지 체크
아래 소스는 Information 함수를 응용해서 만들었습니다. InputBox() 로 데이터를 입력 받은 후 IsNumberic 함수로 반환 받은 글자를 판단합니다. 그리고 MsgBox 로 결과값을 표시합니다.
Private Sub NumberCheck()
Dim inputdata As String
inputdata = InputBox("숫자나 문자를 입력하세요.", "입력")
If IsNumeric(inputdata) Then
MsgBox "데이터는숫자임 : " & inputdata
Else
MsgBox "데이터는문자임 : " & inputdata
End If
End Sub
▼ 결과는 다음과 같습니다. 함수를 실행하면 InputBox() 가 입력 박스를 띄웁니다. 그리고 숫자나 문자 중 하나를 입력하고 [확인] 버튼을 누릅니다.
▼ InputBox 에서 입력받은 데이터로 숫자 혹은 문자인지 판단해서 결과 값을 MsgBox 로 표시합니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 VBA 다른 셀에 일치하는 코드 값에 데이터 찾아 추가하기 ▶ 엑셀 VBA 마지막 행과 열의 수 찾기 ▶ 엑셀 VBA 시트에서 데이터 셀 영역 구하기 ▶ 엑셀 VBA – 매크로 이용해서 특정 조건의 데이터를 삭제하고 싶을 때 ▶ 엑셀 VBA 입력된 값 형식 확인 Information 관련 함수 모음 |
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA 숫자를 문자열로 바꾸는 여러가지 방법 (1) | 2024.04.27 |
---|---|
엑셀 VBA 문자열 분할 함수 Split 사용하기 (1) | 2024.04.21 |
엑셀 VBA 워크시트, 셀 선택되었을 때 실행되는 이벤트 함수 구현하기 (1) | 2024.04.13 |
엑셀 VBA 시트 더블클릭 이벤트로 셀에 배경색 변경하기 (2) | 2024.04.11 |
엑셀 VBA 날짜 함수 CDate 문자열을 날짜로 변환 (0) | 2024.03.28 |
엑셀 VBA GoTo 문 이용해서 줄로 분기하기 (2) | 2024.03.23 |
엑셀 VBA Function 와 Sub 프로시저의 차이점과 사용법 알아 보기 (1) | 2024.03.16 |
엑셀 VBA 모듈(Module) 소스 파일 관리하기 (1) | 2024.03.05 |