TOP

VBA-강의 7.2. 조건 (조건)

If...Then...Else 및 Select Case 조건을 확인하는 것 외에도 다음 확인을 사용할 수도 있습니다.

  • 데이터 유형 비교(함수 IsNumeric, IsDate, IsEmpty, 연산자 Is Nothing)
  • 변수 유형 비교(VarType 함수)
  • 텍스트 피드 비교(연산자 Like)

  • 데이터 유형 확인

    IsNumeric(이전 과정에서 사용한 함수)은 값이 숫자이면 TRUE(TRUE)를 반환하고, -가 숫자가 아니면 FALSE(FALSE)를 반환합니다.

    If IsNumeric(Range("A1")) = True Then '값이 숫자인 경우...
    

    다음 코드는 이전 코드와 동일한 효과를 생성합니다(구성 자체가 조건 확인이므로 = True를 포함할 필요가 없습니다).

    If IsNumeric(Range("A1")) = True Then '값이 숫자인 경우...
    

    값이 숫자가 아닌지 확인하려면 다음 두 가지 방법으로 확인할 수 있습니다.

    If IsNumeric(Range("A1")) = False Then '값이 숫자가 아닌 경우...
    
    If Not IsNumeric(Range("A1")) Then '값이 숫자가 아닌 경우...
    

    IsNumeric과 유사한 몇 가지 함수를 더 살펴보겠습니다.

    If IsDate(Range("A1")) Then '값이 날짜인 경우...
    
    If IsEmpty(Range("A1")) Then '비어 있는 경우...
    
    If var_object Is Nothing Then '객체가 정의되지 않은 경우...
    

    변수 유형 확인

    변수 유형에 따라 명령을 실행하려면 VarType 함수를 사용해야 합니다.

    "=" 기호를 입력하자마자 변수 유형 목록이 나타납니다.

    If VarType(my_variable) = vbInteger Then 'IF my_variable이 변수 유형 Integer입니다...
    

    상수 값:

    끊임없는
    vbEmpty0
    vbNull1
    vbInteger2
    vbLong3
    vbSingle4
    vbDouble5
    vbCurrency6
    vbDate7
    vbString8
    vbObject9
    vbError10
     If VarType(my_variable) = vbInteger Then 'IF my_variable이 변수 유형 Integer입니다...
     '다음과 동일합니다:
     If VarType(my_variable) = 2 Then 'IF my_variable이 변수 유형 Integer입니다...
    

    텍스트 피드 비교(Like)

    조금 앞서 우리는 다음 코드 조각을 사용했습니다.

    my_variable = "Example 12345"
    
    If my_variable = "Example 12345" Then '=> 참(TRUE)
    

    이 경우 두 테이프는 동일하지만 변수에 "12345" 값이 포함되어 있는지 확인하려면 다음과 같이 하십시오. 다른 문자를 고려하지 않고 Like 명령을 사용해야 하며, 찾고 있는 값 앞뒤에 *(별표) 연산자를 사용해야 합니다.

    연산자 *(별표)는 다음과 같이 해독됩니다. 임의의 문자 또는 문자 집합:

    my_variable = "Example 12345"
    
    If my_variable Like "*12345*" Then '=> 참(TRUE)
    

    연산자 #(해시)는 다음과 같이 디코딩됩니다. 0에서 9까지의 단일 숫자 문자:

    my_variable = "Example 12345"
    
    If my_variable Like "Example 12###" Then '=> 참(TRUE)
    

    운영자? (물음표)는 다음과 같이 해석됩니다. 임의의 단일 문자:

    my_variable = "Example 12345"
    
    If my_variable Like "?xample?1234?" Then '=> 참(TRUE)
    

    같은 방식으로 특정 문자나 문자 집합을 사용할 수도 있습니다.

    my_variable = "Example 12345"
    
    If my_variable Like "[DEF]xample 1234[4-7]" Then '=> 참(TRUE)
    

    운영자! [ 뒤에 추가된 (느낌표)는 다음을 의미합니다: 대괄호로 묶이지 않은 모든 문자:

    my_variable = "Example 12345"
    
    If my_variable Like "[!GHIJ]xample 1234[!6-9]" Then '=> 참(TRUE)
    
    이 맥락에서 대문자는 동일한 소문자와 동일하지 않습니다. 대문자와 소문자를 구분하지 않으려면 모듈 시작 부분에 Option 텍스트 비교 명령을 작성하면 됩니다.