#VBA #변수_선언 #Option_Explicit
Option Explicit이란?
Option Explicit은 VBA 코드의 맨 위에 선언되는 문장으로, 이 문장이 사용되면 모든 변수를 선언하고 사용하기 전에 미리 정의해야 함을 의미합니다. 이것은 변수를 미리 선언하지 않고 사용하거나 오타 등으로 인한 에러를 방지하기 위한 목적으로 도입된 것입니다.
1. 변수의 명확한 선언
Option Explicit을 사용하면 변수를 미리 선언해야 하기 때문에, 코드에서 사용되는 변수들이 명확하게 정의됩니다. 변수의 이름을 오타로 잘못 입력하는 등의 실수를 줄일 수 있으며, 이로 인한 버그와 디버깅 시간을 줄일 수 있습니다.
Option Explicit을 사용하지 않고 아래와 같은 계산을 하였습니다.
세번째 계산 시 My_bar라고 변수 이름에 오타가 발생했으나 Option Explicit를 사용하지 않았기 때문에 'My_bar = 0'이라고 보고 잘못된 계산값을 반환합니다.

아래는 Option Explicit를 사용한 경우입니다.
이때는 모든 변수를 Dim 명령을 통해 변수 이름과 타입을 선언해야하며 선언되지 않은 변수가 있을 시 오류가 발생합니다.

2. 타입 일치 검사
Option Explicit을 사용하면 변수의 타입도 함께 명시해야 합니다. 이는 변수에 할당되는 값의 타입을 명확하게 지정하게 함으로써 잘못된 타입의 값을 변수에 할당하는 실수를 사전에 방지합니다. 이는 데이터 변환 오류를 줄이고 코드 실행 시 예상치 못한 동작을 방지하는 데 도움이 됩니다.
3. 코드의 유지보수 용이성
Option Explicit을 사용하면 코드의 가독성과 유지보수가 증가합니다. 코드 내에서 변수의 선언 위치와 사용 위치를 확인함으로써 변수의 스코프를 파악하고 이해하기 쉬워집니다. 새로운 개발자가 코드를 이해하고 수정해야 할 때도 Option Explicit이 없는 코드보다 코드를 더 쉽게 파악할 수 있습니다.
4. 논리적 오류 감소
Option Explicit을 사용하면 변수의 미리 선언과 타입 명시로 인해 발생하는 논리적 오류가 감소합니다. 변수를 잘못된 위치에서 사용하거나, 잘못된 타입의 값을 할당하는 실수로 인한 버그를 줄일 수 있습니다. 이는 코드의 안정성을 높이고 예기치 않은 동작을 방지합니다.
자동으로 Option Explicit 사용하기
VBA 에디터 메뉴의 도구 > 옵션에서 '변수 선언 요구'의 체크박스를 체크하면 새 서브루틴이 생성될때마다 Option Explicit가 자동으로 적용됩니다.
'컴알못 > VBA' 카테고리의 다른 글
[VBA] 변수 타입과 범위 (0) | 2023.08.22 |
---|---|
[VBA] Function과 Subroutine (0) | 2023.08.22 |
[VBA] R1C1 참조 스타일 (0) | 2023.08.21 |
[VBA] VBA에서 다른 파일의 모듈 실행하기(Application.Run) - 1 (0) | 2023.08.14 |
[VBA] 사용자 정의 함수 만들기 / Add-in으로 추가하기 (0) | 2023.08.14 |
[VBA] 자동 필터 (.AutoFilter) (0) | 2023.08.13 |
[VBA] 행 높이/열 너비 자동 조절 (.AutoFit) (0) | 2023.08.13 |
[VBA] 데이터가 입력된 마지막 행/열 찾기(.End) (0) | 2023.08.13 |