Wie deklariere ich globale Variablen in Excel VBA, damit sie in der Arbeitsmappe sichtbar sind?

Ich habe eine Frage zum globalen Geltungsbereich und habe das Problem in einem einfachen Beispiel zusammengefasst:

In einer Excel-Arbeitsmappe: InBlatt Ich habe zwei (2) Tasten.
Der erste ist mit @ gekennzeichn SetMe und ist mit einem Unterprogramm in @ verknüp Sheet1s Modul:
Sheet1 Code:

Option Explicit
Sub setMe()
    Global1 = "Hello"
End Sub

Die Sekunde ist mit @ gekennzeichnZeig es mi und ist mit einem Unterprogramm in @ verknüp ThisWorkbooks Modul:
ThisWorkbook code:

Option Explicit
Public Global1 As String
Debug.Print("Hello")
Sub showMe()
    Debug.Print (Global1)
End Sub

Klicken Sie auf SetMe erzeugt einen Compilererror: variable not defined.
Wenn ich ein separates Modul erstelle und die Deklaration von @ verschie Global1 hinein alles funktioniert.

Also meine Frage ist: Alles, was ich gelesen habe, besagt, dass globale Variablen, die am Anfang eines Moduls außerhalb von Code deklariert sind, für alle Module im Projekt sichtbar sein sollten. Offensichtlich ist dies nicht der Fall. Es sei denn, mein Verständnis vonModu das ist nicht richtig
Die ObjekteSheet1, Sheet2, ThisWorkbook, ... die mit einer Arbeitsmappe geliefert werden: Sind diese Module nicht in der Lage, Variablen im globalen Bereich zu deklarieren?

Or ist der einzige Ort, an dem man ein globales deklarieren kann, in einem separaten Modul vom Typ Module.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage