반응형
프로그래밍에서 쓰는 용어들은 참 어렵다.. 하지만 알아야지 나중에
Const는 상수라고 하며 변수의 반대 개념이다.
변수는 값을 바꿀 수 있지만 상수는 고정값이며 변경 불가능하다.
VBA 코드에서 Const 사용법은 다음과 같다.
Const 상수이름 = 1
Const 상수이름2 = "문자열"
Sub Test()
Debug.Print 상수이름
Debug.Print 상수이름2
End Sub
- 사용법: Const 사용할 이름 = 값
- 사용법: Public Const 사용할 이름 = 값
기본적으로 상수 선언을 하면 선언된 모듈 내에서만 사용 가능하며, 앞에 Public을 붙여준다면 모든 프로젝트에서 사용할 수 있게 된다. Public 없는 상태로 다른 모듈에서 상수를 호출하면 아무 일도 일어나지 않는다. 만약 Option Explicit 선언이 되어있다면 변수가 정의되지 않았다는 오류 팝업을 볼 수 있다.
그렇다면 이 Const라는 녀석은 어디에 쓸 수 있을까?
한 가지 예를 들어보자면, 1000줄의 코드에서 "ABC" 문자열이 들어가는 구문이 300줄이 있다고 가정해보자. 그런데 갑자기 "ABC"를 "ACC"로 변경해야 된다고 하면 어떻게 해야 할까? 물론, Ctrl + H 이용해서 모두 바꾸기를 해도 되지만 이건 위험이 따르고 불편함이 존재한다.
모두 바꾸기 단점(Ctrl + H)
- "ABC" 관련된 모든 모듈에서 일일이 바꿔줘야 함
- 정확히 "ABC"를 "ACC"로 바꾸고 싶은데 "AABC" 문자열도 "AACC"로 변경되므로 코드 실행 결과가 달라질 수 있음
- 여러번 작업해야댐(귀찮음)
- 바꾸고 맞게 됐는지 확인해야댐(코드확인, 귀찮음)
이 불편한 것들을 Const 선언을 통해 해결할 수 있다.
반응형