ich möchte ausserhalb einer Prozedur eine globale Variable anlegen und ihr einen String zuweisen.
Wie geht das?
Option Explicit
'Allgemeines Modul
Global myString As String
Sub StringFuellen()
'Das Makro z.B. beim öffnen der Mappe aufrufen
myString = "Hallo Welt"
End Sub
Um in Excel VBA eine globale Variable zu definieren und ihr einen Wert zuzuweisen, kannst Du folgende Schritte befolgen:
Option Explicit
Global myString As String
Sub InitializeVariable()
myString = "Hallo Welt"
End Sub
InitializeVariable
auf, um den Wert zu setzen.Wenn Du die Variable in einer anderen Sub verwenden möchtest, kannst Du dies einfach tun, da sie global definiert ist.
Fehler: "Variable nicht definiert"
Option Explicit
am Anfang Deines Moduls verwendet hast. Das zwingt Dich, alle Variablen zu deklarieren.Fehler: "Zuweisung außerhalb einer Prozedur nicht erlaubt"
Eine alternative Möglichkeit, einen festen Wert zuzuweisen, besteht darin, eine öffentliche Konstante zu verwenden. Du kannst dies so tun:
Public Const MyName As String = "Hallo"
Diese Methode ist nützlich, wenn Du einen festen Wert benötigst, der sich während der Ausführung Deines Makros nicht ändern soll.
Hier ist ein einfaches Beispiel, das zeigt, wie Du eine globale Variable in verschiedenen Subs verwenden kannst:
Option Explicit
Global myString As String
Sub SetValue()
myString = "Hallo Welt"
End Sub
Sub DisplayValue()
MsgBox myString
End Sub
Rufe zuerst SetValue
auf und dann DisplayValue
, um den Wert in einer MessageBox anzuzeigen.
Public
anstelle von Global
, wenn Du eine Variable in mehreren Modulen verwenden möchtest.Option Explicit
, um die Deklaration aller Variablen zu erzwingen und so Tippfehler zu vermeiden.1. Wie kann ich eine globale Variable in mehreren Modulen verwenden?
Du kannst die Variable mit dem Schlüsselwort Public
im Hauptmodul definieren. Dann ist sie in allen Modulen verfügbar.
2. Kann ich einer globalen Variable einen Wert in einer Funktion zuweisen?
Ja, Du kannst einer globalen Variable in einer Funktion einen Wert zuweisen, solange sie innerhalb einer Sub oder Function deklariert wird.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen