Ⅰ. VBA의 문법구조 이해
1. 변수 와 상수
- 변수 : 국그릇에 국이, 반찬그릇에 반찬이 담겨 있듯, 정보를 담는 그릇(특정한 정보를 담는 하드웨어적인 메모리 블록)
- 상수 : 한 번 선언된 후에는 다시는 값을 바꾸어 대입할 수 없는 것을 말함
★ 선언된 변수와 상수는 하드 디스크 같은 물리적 공간이 아니라 컴퓨터의 메모리(RAM)내에 존재하면서 언제든지 프로그램에서 호출하면 그 값을 프로그램으로 넘겨준다.
1) 변수의 특징
- 값을 담은 후에도 값을 바꾸어 대입할 수 있다.
- 변수명을 지정할 때의 규칙
① 변수명은 영문 대소문자와 한글, 숫자, 밑줄(_)만 사용 가능
② 변수명의 첫 글자는 반드시 영문 혹은 한글로 시작
③ 변수명의 길이는 255자까지 사용가능
④ 비주얼 베이직에서 사용하는 예약어는 사용할 수 없음
- 변수는 지역변수(Private)와 전역변수(Public)로 나눌 수 있다.
|
선언영역 |
지역변수 |
전역변수 |
| 프로시저 수준 | 변수를 선언한 프로시저에만 사용 가능 | 프로시저 내에서는 선언 할 수 없음 |
| 모듈 수준 | 변수를 선언한 모듈에서만 사용 가능 | 모듈 수준의 외부 선언부에서 사용이 가능하며 모든 모듈세서 변수 사용 가능 |
2. 연산자
1) 사칙연산자 : +, -, *, /
2) 지수 연산자 : 캐럿 (^)
3) 문자의 결합 : &
4) 비교 연산자 : <, <=, >, >=, =, <>(좌우변이 같지 않다)
5) 논리 연산자 : and, or, not
※ 연산자 우선순위 : 가장 먼저 계산되는 것은 산술 연산자이며, 그 다음은 비교연산자, 마지막으로 논리 연산자 순으로 계산된다. 산술 연산자와 논리 연산자는 각각의 연산자에도 우선 순위가 있으며, 비교 연산자는 모두 우선순위가 같다.
3. 선언문과 데이터 형
변수를 입력할 때, 변수의 데이터형을 선언하지 않고 바로 변수에다 값을 대입하여 사용가능한데, 그 이유는 비주얼베이직은 데이터형을 선언하지 않은 변수는 모두 담을 수 있는 Variant 형으로 인식하여 처리하기 때문이다. 좋은 것 같지만 Variant형은 메모리를 지나치게 많이 사용하므로 프로그램 실행속도를 떨어뜨릴 수 있으니, 웬만하면 변수는 형 선언을 하는 것이 좋다. 이렇게 변수나 상수 등의 데이터 형을 미리 선언하는 것을 선언문이라한다
4. 변수 선언 형식
※ 변수 선언 형식 : 선언 키워드 변수이름 As 데이터 형 (예, Dim a As Integer)
선언 키워드(예약어라고도 함)는 보통 Dim(Dimension:차원)이라는 키워드가 사용되는데, 이외에도 Public, Static, Private 같은 키워드가 사용되기도 함.
1) 정수형 : Byte, Integer, Long
Byte 형 변수 : 0~255 까지의 숫자만 들어갈 수 있다
Integer형 변수 : -32,768 ~ 32,767 까지의 숫자가 들어 갈 수 있다.
Long형 변수 : 더욱 큰 숫자가 들어간다.
|
Dim Msg As String ------------------- 외부 선언부 Sub 정수형() ------------------- 프로시저의 시작 Dim a As Integer ------------------- 내부 선언부 시작 Dim b As Integer Dim c As Long -------------------- 내부 선언부 끝
a = 10 -------------------- 프로시저 실행부 b = 20
c = a + b
Dibug.Print c --------------------- 프로시저 실행부 끝 Msg = " c의 값은" End Sub --------------------- 프로시저의 끝 |
2) 문자형 : String (예 : Dim a1 As String)
- 문자열의 길이를 제한하고 싶은 경우 : Dim a1 As String * 4
설명 : 문자열의 길이를 4문자로 고정한다는 뜻으로, 공백문자를 포함한 4문자 임.
3) 소수형 : Single, Double (예 : Dim Cir As Double)
- Single은 때로 자신의 범위내에 있는 값이라도 소수점 이하의 자리 중 일부를 잘라 먹는 현상이 있어 가급적이면 Double을 사용하는 것이 좋음
4) 무엇이든 다 담는 모두형 : Variant ( 예 : Dim a As Variant)
- 모든 데이터가 다 들어갈 수 있다. 정수, 긴 정수, 소수, 문자열 모두 들어가도 에러가 안난다. 또한 이외에도 도형, 폼, 워크시트, 워크북 등의 데이터도 모두 담을 수 있다.
5) 주석문 : 프로그램의 코드에서 (')가 입력된 부분은 프로그램에 전형 영향을 미치지 않는 주석문(설명문)이다.
[출처] 1. VBA의 문법구조 이해|작성자 도토리