[엑셀/VBA] 상수 선언하고 사용하기(feat. Const)


Warning: Undefined variable $final in /hosting/triki/html/wp-content/plugins/drkain-wiki/drkain-wiki.php on line 270

엑셀 VBA를 이용해 작업을 실시할 때 변하지 않는 특정 값을 상수로 선언하고 사용하면 작업이 굉장히 간단해지는 경우가 있습니다.

상수란?

일단 상수(Constant)에 대한 정의부터 알아봅시다. 아래는 네이버 백과사전의 상수에 대한 정의입니다.

상수란 여러 가지 값을 가질 수 있는 변수와 달리, 값이 변하지 않고 고정된 수 또는 이를 지칭하는 문자를 뜻한다.

네이버 지식백과, “상수

다시 말해, 그 값이 변하지 않는 수 또는 그것을 나타내는 문자라고 할 수 있습니다.

조금 더 쉽게 예를 들자면, 어떤 작업을 할 때 그 작업을 위한 64자리의 인증키를 사용해야 한다면, 프로시저나 함수를 만들 때 마다 무려 64자리의 인증키를 계속해서 반복적으로 입력해야 하는 상황이 발생 할 수 있습니다.

이 때 해당 64자리의 인증키를 aKey 라는 상수로 설정하고 사용한다면 해당 인증키를 계속 외워서 사용할 필요도 없으니 작업이 한층 간단해집니다. 만약 어떤 사유로 해당 키를 다른 값의 키로 변경해야 한다면 역시 aKey 의 값만 변경하면 모든 프로시저와 함수에서 aKey 로 사용하고 있으므로, 작업이 한층 수월해지겠죠?

그래서 우리는 상수를 선언하고 사용하는 것입니다.

상수 선언 방법

엑셀 VBA 에서 상수를 선언하는 방법은 간단합니다. 우리가 보통 변수를 선언할 때는 Dim 을 사용하는데 상수를 선언하기 위해서는 Const 를 사용하면 됩니다. 눈치 채셨겠지만 상수를 뜻하는 Constant 를 줄인 것입니다.

Const aKey as String = "xxxxxxxxxxxxxxxxxxxxxxxxxx ... "

위 예시에서는 String 형식으로 상수를 선언하였지만, 변수와 마찬가지로 다양한 형식으로 상수를 선언 할 수 있습니다.

그리고 상수에 값을 넣기 위해서는 상수를 선언한 다음 바로 값을 지정해주면 됩니다.

전역상수 v 지역상수

기본적으로 위와 같이 Const 만을 이용해서 상수를 선언하면 기본적으로 지역상수로 선언됩니다. PublicPrivatePrivate 으로 선언된다는 말이죠.

프로젝트 전체에서 언제나 사용하고 싶다면 아래와 같이 전역상수로 선언해야 합니다.

Public Const aKey as String = "xxxxxxxxxxxxxxxxxxxxxxxxxx ... "

이상으로 간단하게 엑셀 VBA 에서의 상수에 대해 정리해 보았습니다.

끝.