2016-05-19 6 views
0

Wenn ich eine globale Variable in VBA habe und ihr auf Workbook.open() einen Wert zuweisen, gibt es eine Möglichkeit, diesen zugewiesenen Wert beizubehalten, selbst wenn auf die Schaltfläche "Zurücksetzen" geklickt wird im Code (oder der Code ist wegen eines Fehlers beendet)?Verhindern, dass globale Variablen gelöscht werden

Beispiel:

Public myGlobalVariable As String 

Private Sub Workbook_Open() 
    'Ask the user for the value of the global variable 
    myGlobalVariable = InputBox("Give me some input", "Hi", 1) 

End Sub 
+0

Verwenden Sie in diesem Fall 'Environ (" Benutzername ")' direkt anstelle der Verwendung einer Variablen? –

+0

Ein guter Punkt, vielleicht war es nicht das beste Beispiel. Ich brauche es auch für andere Farben. Und obwohl ich in allen Fällen eine Problemumgehung finden könnte, wäre es viel einfacher, wenn es eine Möglichkeit gäbe, globale Variablen vor dem Absturz zu bewahren. Ich habe es in ein anderes Beispiel geändert. – Noceo

Antwort

2

Der einzige Weg ist, sie irgendwo zu bestehen - zB eine Zelle, definiert Namen, die Registrierung, Datei.

+0

Danke, auch wenn es nicht die erhoffte Antwort war. – Noceo