To jest kwestia zakresu .
Jeśli chcesz, aby zmienne trwały przez cały okres istnienia funkcji, użyj Dim
(skrót od Dimension ) wewnątrz funkcji lub sub, aby zadeklarować zmienne:
Function AddSomeNumbers() As Integer
Dim intA As Integer
Dim intB As Integer
intA = 2
intB = 3
AddSomeNumbers = intA + intB
End Function
Globalna zmienna (jak SLaks zauważył) jest zadeklarowana poza funkcją przy użyciu Public
słowa kluczowego. Ta zmienna będzie dostępna przez cały okres użytkowania uruchomionej aplikacji. W przypadku programu Excel oznacza to, że zmienne będą dostępne tak długo, jak długo dany skoroszyt programu Excel będzie otwarty.
Public intA As Integer
Private intB As Integer
Function AddSomeNumbers() As Integer
intA = 2
intB = 3
AddSomeNumbers = intA + intB
End Function
Możesz także mieć zmienne, które są dostępne tylko w ramach określonego modułu (lub klasy), deklarując je za pomocą Private
słowa kluczowego.
Jeśli budujesz dużą aplikację i czujesz potrzebę użycia zmiennych globalnych, polecam utworzenie osobnego modułu tylko dla zmiennych globalnych. To powinno pomóc Ci śledzić je w jednym miejscu.