Dies ist eine Frage zum Umfang .
Wenn die Variablen nur die Lebensdauer der Funktion haben sollen, deklarieren Sie die Variablen mit Dim
(kurz für Dimension ) in der Funktion oder im Sub:
Function AddSomeNumbers() As Integer
Dim intA As Integer
Dim intB As Integer
intA = 2
intB = 3
AddSomeNumbers = intA + intB
End Function
'intA and intB are no longer available since the function ended
Eine globale Variable (wie SLaks hervorhob) wird außerhalb der Funktion mit dem Public
Schlüsselwort deklariert. Diese Variable ist während der Lebensdauer Ihrer laufenden Anwendung verfügbar. Im Fall von Excel bedeutet dies, dass die Variablen verfügbar sind, solange diese bestimmte Excel-Arbeitsmappe geöffnet ist.
Public intA As Integer
Private intB As Integer
Function AddSomeNumbers() As Integer
intA = 2
intB = 3
AddSomeNumbers = intA + intB
End Function
'intA and intB are still both available. However, because intA is public, '
'it can also be referenced from code in other modules. Because intB is private,'
'it will be hidden from other modules.
Sie können auch Variablen verwenden, auf die nur innerhalb eines bestimmten Moduls (oder einer bestimmten Klasse) zugegriffen werden kann, indem Sie sie mit dem Private
Schlüsselwort deklarieren.
Wenn Sie eine große Anwendung erstellen und globale Variablen verwenden möchten, würde ich empfehlen, ein separates Modul nur für Ihre globalen Variablen zu erstellen. Dies soll Ihnen helfen, sie an einem Ort im Auge zu behalten.