저는 자주 사용하지는 않았지만 상황에 따라 변수의 타입이 변경되어 설정되어야 하는 경우가 있습니다.
그래서 타입에 따라 뭔가 조건문을 사용할 때 필요한 내용입니다.
예를 들면
입력된 값이 숫자이냐 텍스트 이냐
배열로 입력되었느냐 단일 변수로 입력되었느냐
입력된 값이 숫자이냐 텍스트이냐 구분은
IsNumeric
단어 뜻 그대로입니다.
숫자이면 True로 반환되고 , 숫자가 아니면 False로 반환됩니다. (Boolean 형태)
Boolean이기 때문에 If 문의 조건으로 사용하기 위해서는 True , False 일 때로 구분해서 사용하시면 됩니다.
특이점은 아래 이미지처럼
따옴표를 입력하여 숫자만 입력했을 때 에도 IsNumeric은 숫자로 인식해 줍니다.
실제로는 결국 사칙연산 사용 가능 유/무로 판단 되는 것 같네요.
그리고 따옴표에 들어있는 Nums를 숫자가 아닌 String으로 체크하고 싶을 때 사용합니다.
TypeName
을 사용하게 됩니다.
이것은 말 그대로 형식에 존재하는 값을 텍스트 그대로 노출해 줍니다.
따라서 IsNumeric과는 다르게 String 형태로 반환해 줍니다.
If문과 함께 사용하기 위해서는 아래와 같이 결과 값 = "String"
과 같이 조건문을 사용하시면 됩니다.
그다음 제가 많이 쓰는 게 배열이냐 아니냐를 체크하는 상태입니다.
변수가 배열이라면 Ubound 또는 LBound를 사용했을 때 몇 개 배열인지 확인 가능하지만
해당 변수가 배열이 아니면 에러가 노출되게 됩니다.
물론 해당 내용도 TypeName으로 해결할 수 있습니다.
하지만 조금 더 간편하게 사용하기 위해서는 IsArray를 사용합니다.
아래 예시를 보시면 금방 이해될 수 있습니다.
Type으로 보면 Variant()로 표시됩니다.
If 문 사용 한다면 "Variant()" 형태입니다.
여기까지입니다.
'엑셀 > VBA' 카테고리의 다른 글
Selenium에서 Select 선택 된 값 불러오기 (0) | 2024.03.03 |
---|---|
VBA 실행 , 계산 속도 빠르게 하기 - 엑셀 수동계산 (0) | 2023.10.21 |
VBA Selenium에서 스크롤 이동 (2) | 2023.07.10 |
VBA 배열 변수 지정 시 Index = 1 부터 시작하기 Option Base (0) | 2023.06.21 |
VBA Selenium에서 활성화 되는 Chrome 창 변경하기 (0) | 2023.04.01 |
댓글