Please Enable JavaScript!
Gon[ Enable JavaScript ]

엑셀 VBA Option Explicit 문 변수선언 에러 적용하기

엑셀(Excel)/VBA
반응형

Option Explicit 는 소스에서 사용한 모든 변수들을 명시적으로 강제로 선언하게 하거나 암시적으로 허용할 수 없게 합니다. 위치는 소스 제일 상단에 입력해야 합니다. Option Explicit 또는 Option Explicit On 두 가지 표현이 가능하며, 모든 변수는 Dim 이나 ReDim 문을 사용해서 정의해야 합니다. 그렇지 않을 경우 컴파일 오류가 발생합니다.

 

 

Option Explicit 문이 제일 상단에 있다면 아래 코드들의 변수를 선언해야 합니다. 변수를 선언하지 않고 컴파일을 하게 되면 아래와 같이 에러가 발생합니다. 문구는 "변수가 정의되지 않았습니다." 입니다. 아쉬운 점은 예전에 개발된 프로그램 언어다 보니 개발 인터페이스가 아주 불편합니다. 코드 양이 많을 경우 어떤 변수가 선언되지 않았는지 찾기가 쉽지 않습니다.

 

▼ 그림처럼 Option Explicit 문구를 삭제하고 컴파일을 하면 에러가 발생하지 않습니다. 하지만 반드시 Option Explicit 문을 입력하고 코드를 작성하시기 바랍니다. 당장은 편할 수 있겠지만 소스가 많을 때 문제발생의 소지가 있기 때문입니다.

 

▼ 매번 Option Explicit 문구를 입력하기 귀찮으시다면 자동 입력되도록 설정을 변경해 보세요. 상단 도구 > 옵션 메뉴를 클릭합니다.

 

 ※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 Excel VBA 개발을 위한 개발 도구 추가하기
엑셀 VBA 매크로 디버깅, 디버그 코드 분석하기
엑셀 VBA 행, 삭제 추가하기
엑셀 VBA 참조하는 여러가지 방법
셀 VBA 시트에 있는 내용을 파일, 텍스트로 출력하기



 

 

▼ 옵션 대화상자에서 편집기 탭으로 이동합니다. 편집기 탭 화면에서 "변수선언 요구" 옵션을 체크합니다. 해당 옵션은 모듈을 만들었을 때 일일이 상단에 입력하지 않아도 자동으로 Option Explicit 문구가 들어가게 합니다.

 

▼ 실제로 설정한 옵션이 제대로 적용되는지 확인해 보겠습니다. 코드 작성을 위한 파일을 만들기 위해 오른쪽 마우스를 눌러 삽입 > 모듈 메뉴를 선택합니다.

 

▼ 파일 생성과 동시에 그림처럼 오른쪽 편집 화면에 자동으로 나타난 Option Explicit 문구를 볼 수 있습니다.


 

 

 ※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 Excel VBA 개발을 위한 개발 도구 추가하기
엑셀 VBA 매크로 디버깅, 디버그 코드 분석하기
엑셀 VBA 행, 삭제 추가하기
엑셀 VBA 참조하는 여러가지 방법
셀 VBA 시트에 있는 내용을 파일, 텍스트로 출력하기
반응형
Posted by 녹두장군

댓글을 달아 주세요