본문 바로가기

엑셀/VBA

VBA 내장 함수 - Is 함수, Len 함수

반응형

이전 글에서 InStr 함수와 InStrRev 함수에 대해 알아보았습니다. 이번에는 Is 함수와 Len 함수에 대해 알아보겠습니다. 

 

VBA 내장 함수 - InStr, InStrRev

 

VBA 내장 함수 - InStr, InStrRev

이전 글에서 Left, Mid, Right 함수에 대해 알아보았으며 엑셀 함수와 VBA 함수의 차이에 대해서도 함께 알아보았습니다. 이번에는 InStr 함수와 InStrRev 함수에 대해 알아보겠습니다. VBA 내장 함수 - Left

mr-johndoe.tistory.com

 

 

 

 

 

1. Is 함수

 Is 함수를 다음 표에 정리하였습니다.

 

Is 함수 설명
IsArray 변수가 배열변수인지 확인
IsDate 변수가 날짜 형식인지 확인
IsEmpty 변수값이 공백인지 확인
IsError 에러가 있는지 확인
IsMissing 변수에 값이 있는지 확인
IsNull Null 값이 있는지 확인
IsNumeric 변수가 숫자 형식인지 확인
IsObject 변수가 Object 개체인지 확인

Is 함수는 변수 혹은 개체에 전달된 값을 확인하고 판단하여 그 결과값을 True 또는 False로 반환하는 함수입니다.

 

사용방법은 다음과 같습니다.

 

  Is 함수 ( 변수 혹은 개체 )

 

 

2. Len 함수

 Len 함수는 주어진 문자열의 문자 개수를 확인하여 알려주는 함수입니다. 엑셀 함수 Len과 동일합니다.

 

사용방법은 다음과 같습니다.

 

  Len ( 문자열 )

 

 

 

3. 예제를 통해 확인해 보기

 먼저 Is 함수에 대해 알아보겠습니다.

 

엑셀을 여시고 VBE 창을 실행시키시고 Module을 추가하여 주세요.

다음과 같이 Module 코드창에 코딩을 합니다.

 

   Public Sub IS함수()

      Dim i As Integer

      Dim d As Date

      Dim o As Object

 

      i = Range("B2").Value

 

      Range("C1").Value = IsArray(i)

      Range("C2").Value = IsDate(i)

      Range("D2").Value = IsDate(d)

      Range("C3").Value = IsEmpty(d)

      Range("C4").Value = IsError(i)

      Range("C5").Value = IsMissing(i)

      Range("C6").Value = IsNull(i)

      Range("D6").Value = IsNull(o)

      Range("C7").Value = IsNumeric(i)

      Range("C8").Value = IsObject(i)

      Range("D8").Value = IsObject(o)

End Sub

 

실행을 하시면 결과값이 True 혹은 False로 출력되는 것을 보실 수 있습니다. 여기서 IsDate 경우 단지 변수를 Date 형식으로 선언하기만 하고 값을 입력하지 않았지만 True로 출력되는 것을 보실 수 있습니다. 그러므로 Is함수는 변수 형식을 이미 알고있는 변수를 판단하려고 사용하는 것이 아니라 어떤 값이 들어있는지 모르는 경우 가령 variant 형식의 변수에 어떤 값이 입력되어 있는지 확인할 때 사용합니다.

 

 Len 함수는 다음 예제로 확인해 보겠습니다.

Module 코드창에 다음과 같이 코딩하여 실행합니다.

 

   Public Sub 문자개수()

     Dim s As String

 

     s = "안녕하세요"

 

     Range("B2").Value = s

     Range("C2").Value = Len(s)

End Sub

 

C2 셀에 '안녕하세요'의 문자 개수인 5가 출력되는 것을 보실 수 있습니다.

 

반응형