VBA에서 Isnumeric과 Isnumber 함수 사용하기
이 튜토리얼에서는 VBA에서 값이 숫자인지 확인하기 위해 IsNumeric 및 IsNumber 함수를 사용하는 방법을 설명합니다.
IsNumeric은 VBA에 내장된 함수이고, IsNumber는 VBA 코드에서 호출할 수 있는 Excel 함수입니다.
VBA에서 IsNumber와 IsNumeric의 차이점
IsNumber는 값이 숫자로 저장되어 있는지 확인합니다. 반면, IsNumeric은 값을 숫자로 변환할 수 있는지 확인합니다.
예를 들어 빈 셀을 매개변수로 전달하면 IsNumber는 FALSE를 반환하고 IsNumeric은 TRUE를 반환합니다. 또한 텍스트로 저장된 숫자가 포함된 셀을 전달하면 IsNumber는 FALSE를, IsNumeric은 TRUE를 반환합니다.
두 함수의 이러한 제한 사항에 주의하고 경우에 따라 두 함수를 적절하게 사용해야 합니다.
VBA에서 IsNumeric 사용하기
IsNumeric은 값이 숫자인지 확인하고 그 결과값을 불리언 유형인 TRUE 또는 FALSE를 반환하는 VBA 함수입니다.
이 함수는 변수 또는 셀 값을 입력 값으로 사용할 수 있습니다.
다음은 셀 값을 입력 값으로 사용하는 예제입니다:
If IsNumeric(Sheet1.Range("A1").Value) = True Then
MsgBox "A1셀의 값은 숫자입니다"
Else
MsgBox "A1셀의 값은 숫자가 아닙니다"
End If
이 예제에서는 A1 셀의 값이 숫자인지 확인하기 위해 IsNumeric 함수를 사용합니다. 위 코드는 함수 결과에 따라 적절한 메시지를 반환합니다.
다음 예제에서는 셀 값 대신 변수를 사용한다는 점을 제외하면 위 코드와 동일한 연산을 수행합니다:
Dim n as Variant
n = Sheet1.Range("A1").Value
If IsNumeric(n) = True Then
MsgBox "A1셀의 값은 숫자입니다"
Else
MsgBox "A1셀의 값은 숫자가 아닙니다"
End If
VBA에서 IsNumber 사용하기
IsNumber는 VBA에서 사용할 수 있는 Excel 함수입니다. IsNumeric과 거의 유사한 출력을 제공합니다. IsNumber 함수의 예제를 살펴 보겠습니다:
If Application.WorksheetFunction.IsNumber(Sheet1.Range("A1").Value) = True Then
MsgBox "A1셀의 값은 숫자입니다"
Else
MsgBox "A1셀의 값은 숫자가 아닙니다"
End If
위와 같이 각각의 함수를 호출할 때 구문에 차이가 있습니다. IsNumber는 Excel 함수이므로 함수 호출 앞에 Application.WorksheetFunction을 넣어야 합니다.