『 VBA를 실행하여 기본옵션을 설정합시다.! 』
VBA 개발을 편리하게 해주는 여러옵션들이 존재합니다. 우리는 그중 중요한 한가지 옵션을 체크해주도록 하겠습니다.
[개발도구] -> [Visual Basic] -> [도구]->[옵션] 메뉴에서 변수 선언 요구(R) 항목을 선택하여 체크해 줍시다.
변수선언요구 『 Option Explicit 』란?
변수선언요구 옵션이 체크된 상태에서 새로운 모듈을 생성시키면 코딩창 최상단에 Option Explicit 란 코드가 자동으로 표시됩니다.
Option Explicit 문을 정의하면 사용되는 모든 변수는 Dim a As Integer와 같이 사전 정의 후 사용해야 하는데 이를 명시적 선언이라고 하며 선언하지 않은 변수이름을 사용하게 되면 VBA컴파일러가 오류를 발생시켜 알려줌에 정의하고 사용하는게 좋습니다.
Option Explicit 문을 정의하지 않은 경우 선언되지 않은 변수들은 Variant type으로 시스템이 알아서 관리해 주지만 메모리 관리측면에서 비효율적이고 에러추적 애로 등 실제적으로 코딩에 도움이 되지 않습니다.
사용예시 1.
Option Explicit가 미정의 된상태므로 변수 a,b,c는 variant type으로 사용되고 계산결과 “3”을 정상적으로 표시합니다.
사용예시2.
변수 a,b,c는 variant type으로 사용되고 계산결과 “1”을 표시하였습니다. 오타로 b대신 b1이라고 입력했을 경우 b1변수는 선언되지 않았음에도 Option Explicit문을 정의하지 않았기때문에 계산식(a+b1)이 잘못되었더라도 정상인것처럼 결과값을 띄우고 어떠한 메시지도 안내하지 않습니다.
사용예시2.
Option Explicit를 정의한 상태에서 a, b, c 변수형식을 정의하지 않았으므로 어떤 값이 입력되었는지 모르겠다며 시스템 에러를
발생시켜 잘못이 있음을 안내해주고 있습니다.
상기오류는 다음과 같이 변수 선언을 해주어야 합니다. 변수선언은 Dim a, b, c As Integer 로 한줄로 나타내거나 개별로 분리해서 Dim a As Integer, Dim b As Integer, Dim c As Integer 와 같이 사용할 수 있습니다.
'VBA > 기초' 카테고리의 다른 글
[기초] 셀(Cell)선택 및 값 입력하기 (Cells, Range함수) (0) | 2021.05.26 |
---|---|
[기초] 조건문 (if, Select Case 구문) (0) | 2021.05.22 |
[기초] VBA 메뉴 나타내기 (0) | 2021.05.22 |