VBA 전역 변수
In this Article
이 튜토리얼에서는 VBA 전역 변수에 대해 다룹니다.
VBA에서 변수는 다양한 유형으로 선언할 수 있습니다. 변수 유형에 따라 변수를 사용할 수 있는 코드가 결정됩니다.
프로시저 수준 변수
일반적으로 변수는 Sub Procedures 또는 Functions 내에서 프로시저 수준으로 선언됩니다. 프로시저 수준 변수는 변수가 사용될 프로시저 내에서 Dim 키워드를 사용하여 선언해야 합니다.
아래 예제에서는 프로시저 내에서 someNumber 를 정수 변수로 정의합니다.
Sub DeclaringAProcedureLevelVariable()
Dim someNumber As Integer
someNumber = 5
MsgBox someNumber
End Sub
이 변수는 이 서브 프로시저 내에서만 사용할 수 있습니다. 다른 서브 프로시저에서 변수를 호출하면 다음과 같은 컴파일 오류가 발생합니다:
모듈 수준 변수
모듈 수준 변수는 해당 모듈 내의 모든 서브 프로시저 또는 함수에서 사용할 수 있습니다. 모듈 상단의 선언 섹션의 Option Explicit 아래에 변수 선언을 배치하고 Dim 키워드를 사용해야 합니다:
이제 someNumber 변수를 두 하위 프로시저에서 모두 사용할 수 있습니다.
전역 수준 변수
전역 수준 변수는 모듈, 함수, 서브 프로시저 및 클래스 등 코드 내 어디에서나 사용할 수 있습니다. 전역 변수는 선언 섹션의 Options Explicit 아래에서 Global 키워드를 사용하여 선언합니다. 전역 수준 변수를 선언하는 방법은 아래와 같습니다. Module1의 두 하위 프로시저 모두 이 변수를 사용할 수 있습니다.
이 변수는 Global 수준 변수이므로 Module2에서도 사용할 수 있습니다: