본문 바로가기

엑셀/VBA

VBA 연산자와 제어문에 대해 알아보기 I

반응형

연산자는 사칙연산과 같은 계산에 필요한 기호들을 말합니다. 제어문은 VBA는 기본적으로 문장 순서대로 프로그램이 진행됩니다. 하지만 때에 따라서 순서를 변경해야 하는 경우가 생깁니다. 이때 프로그램의 진행 순서를 변경하는데 사용하는 것이 제어문입니다.

 

1. 연산자

 연산자 기호들을 아래 표에 정리해 보았습니다.

종류 기능 사용예 결과
대입 연산자 = 변수나 속성 값 지정 a = 1 1
문자열 연결 연산자 & 문자열 결합 a="대한" & "민국" 대한민국
+ 문자열 결합 a="대한" + "민국" 대한민국
산술 연산자 + 더하기 a= 5 + 3 8
- 빼기 a= 5 - 3 2
* 곱하기 a= 5 * 3 15
/ 나누기 a= 6 / 3 2
\ a= 6 \ 3 2
Mod 나머지 a= 5 Mod 3 2
^ 지수 a= 5 ^ 3 125
비교 연산자 > 크다 a= 5 > 3 True
>= 크거나 같다 a= 5 >= 3 True
< 작다 a= 5 < 3 False
<= 작거나 같다 a= 5 <= 3 False
= 같다 a= 5 = 3 False
<> 같지 않다 a= 5 <> 3 True
Is 두 개의 개체나 개체형 변수 비교 a= 셀1 Is 셀1 True
Like 두 개의 문자열 비교 a= "F" Like "[A-G]" True
논리 연산자 Not 논리부정 a= Not 5 = 3 True
And 논리곱 a= 5 > 3 And 3 < 1 False
Or 논리합 a= 5 > 3 Or 3 < 1 True
Xor 배타적 논리합 a= 5 > 3 Xor  3 < 1 True
Eqv 논리 등가 a= 5 > 3 Eqv  3 < 1 False
Imp 논리 내포 a= 5 > 3 Imp  3 < 1 False

위 표의 연산자 중에서 Is, Like, 그리고 논리 연산자에 대해서 좀 더 알아보겠습니다.

 

1.1 Is 연산자

Is 연산자는 두 개체나 개체형 변수를 비교하는 연산자입니다. 

 

     a = ActiveSheet Is Sheets(2)

 

    ☞ 현재 활성화되어 있는 워크시트가 Sheet(2)인지를 확인하여 맞으면 True, 틀리면 False를 반환합니다.

 

1.2 Like 연산자

Like 연산자는 두 개의 문자열을 비교하는 연산자입니다.

 

     결과값 = 문자열 Like 패턴

 

패턴에서 사용되는 기호들은 다음과 같습니다.

패턴에 사용되는 기호 설명
? 임의의 한 문자
* 모든 문자
# 임의의 한 숫자
[문자 리스트] 문자 리스트에 지정한 문자 중 한 문자
[!문자 리스트] 문자 리스트에 지정한 문자 이외의 한 문자

예)

     "대한민국" Like "대?"   ; False

        ☞ "대"로 시작하는 문자열이며 ?가 하나이므로 두 글자인지 확인하는 코드

 

     1 Like "##"               ; False

        ☞ ##이 두 개이므로 두자리 숫자인지 확인하는 코드

 

     "C" Like "[A-G]"         ; True

        ☞ C가 A ~ G 사이에 있는 문자인지를 확인하는 코드

 

     "C" Like "[!A-G]"        ; False

        ☞ C가 A ~ G 사이에 있는 문자들 이외의 문자인지 확인하는 코드

 

1.3 논리 연산자

 논리 연산자에 대한 설명은 다음과 같습니다.

논리 연산자 설명
Not 논리식이 False이면 True를 True이면 False를 반환
And 두 논리식이 모두 True이면 True를 하나라도 False이면 False를 반환
Or 두 논리식 중에서 하나라도 True이면 True를 모두 False이면 False를 반환
Xor 두 논리식 중에서 하나만 True이면 True를 모두 False이면 False를 반환
Eqv 두 논리식이 모두 True이거나 False이면 True를 그렇지 않으면 False를 반환
Imp 두 논리식 중에서 앞의 논리식이 True이고 위의 논리식이 False일 때만 False를 그렇지 않으면 True를 반환

 

반응형