Ich habe den folgenden Code geschrieben:
Function find_results_idle()
Public iRaw As Integer
Public iColumn As Integer
iRaw = 1
iColumn = 1
Und ich bekomme die Fehlermeldung:
"ungültiges Attribut in Sub oder Funktion"
Wissen Sie, was ich falsch gemacht habe?
Ich habe versucht, Global
anstelle von Public
zu verwenden, hatte aber das gleiche Problem.
Ich habe versucht, die Funktion selbst als "öffentlich" zu deklarieren, aber auch das hat nichts gebracht.
Was muss ich tun, um die globale Variable zu erstellen?
Dies ist eine Frage zu scope.
Wenn die Variablen nur für die Lebensdauer der Funktion gelten sollen, verwenden Sie Dim
(kurz für Dimension) innerhalb der Funktion oder Unterfunktion, um die Variablen zu deklarieren:
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 von SLaks erwähnt) wird außerhalb der Funktion mit dem Schlüsselwort Public
deklariert. Diese Variable ist während der gesamten Laufzeit Ihrer Anwendung verfügbar. Im Falle von Excel bedeutet dies, dass die Variablen so lange verfügbar sind, wie die betreffende 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 haben, die nur innerhalb eines bestimmten Moduls (oder einer Klasse) zugänglich sind, indem Sie sie mit dem Schlüsselwort Private
deklarieren.
Wenn Sie eine große Anwendung erstellen und das Bedürfnis haben, globale Variablen zu verwenden, würde ich empfehlen, ein separates Modul nur für Ihre globalen Variablen zu erstellen. Dies sollte Ihnen helfen, den Überblick über sie an einem Ort zu behalten.