[엑셀 VBA] Private, Public 문을 사용하는 변수 사용

2020. 6. 30. 23:21업무 스킬/Excel VBA

728x90

 

VBA초급 시절에는 모든 변수 설정은 Dim으로 하게 되지만 중급~고급으로 넘어가면서 만들어야 하는 Sub가 많아지면서 변수 선언이 많이 겹치게 된다. (특히 i as Integer 같은)

그럴 때 모든 Sub(프로시저)에서 똑같은 변수를 사용할 수 있게 하는 선언문이 있는데

바로 전역 변수의 선언문인 [Private] 와 [Public]이다.

사용법은 맨 위 예제를 보면 대충 감이 올 텐데

 

정의를 설명을 하자면

[Private] 문으로 선언된 변수는 같은 코드 창 내의 모든 프로시저가 공유해 사용을 하고

[Public] 문으로 선언된 변수는 공유 사용 + 먼저 작동된 프로시저의 변수에 대한 메모리가 저장된다는 점이다.

 

때문에, 각 Sub 별로 연결되는 변수 일 경우 [Public]을 쓰면 좋지만, 변수 Data가 메모리에 저장되기 때문에 약간(?)의 Macro 실행 시 메모리 부담이 있을 수 있는 단점이 있다.

 

각, 사용법에 맞는 선언문을 쓰면 되겠다.

728x90