Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
532to536
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
532to536
532to536
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Globale Variable

Globale Variable
14.12.2004 16:20:33
Jürg
Hallo
Ich möchte in VBA den Namen der geöffneten Datei einer globalen Variable zuweisen.
D.h. Diese Variable soll für alle Prozeduren in allen Modulen zur Verfügung stehen.
Wie kann ich das am besten realisieren?
Besten Dank für eure Hilfe
Jürg

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Globale Variable
Alex
statt dim ein public oberhalb des codes.
public variabel as string
sub test()
variabel = ActiveWorkbook.Name
.
AW: Globale Variable
Jürg
Alex, danke für deinen Ratschlag, habe noch eine Frage:
Wo gebe ich den Code genau ein? Ich habe ihn unter "DieseArbeitsmappe" zu oberst
(Allgemein) (Deklaration) eingegeben.
In der Prozedur Sub Workbook_Open() habe ich der Variabel den Namen Datei zugewiesen.
Innerhalb dieser Prozedur kann auch darauf zugegriffen werden (logisch...), aber wenn ich aus einer Prozedur aus einem Modul darauf zugreifen will, geht das nicht -- Variable nicht definiert.
Die Onlinehilfe (excel 97) drückt sich da leider nicht verständlich aus.
Danke für deine Hilfe
Jürg
Anzeige
AW: Globale Variable
Ingolf
Hallo Jürg,
ich bin ein bisschen verwirrt. Du sagst einerseits:
"Ich habe ihn unter "DieseArbeitsmappe" zu oberst (Allgemein) (Deklaration) eingegeben."
und andererseits:
"In der Prozedur Sub Workbook_Open() habe ich der Variabel den Namen Datei zugewiesen."
Heisst das, du hast die Variable zweimal deklariert? Der Name einer Variablen wird ja bei der Deklaration definiert und nicht später in einem zweiten Schritt "zugewiesen".
Eine globale Variable musst du zwingend im Deklarationsteil, d.h. ganz oben und zwar in einem benutzerdefinierten Modul, d.h. in einem Modul, dass du selbst über Einfügen - Modul eingefügt hast, also nicht bei "DieseArbeitsmappe" deklarieren. Die Deklaration muss mit dem Schlüsselwort "Public" erfolgen und daher in deinem Beispiel so aussehen:
Public Datei as String
Ferner darf die Variable nicht noch zusätzlich in einer Prozedur deklariert werden.
Gruß Ingolf
Anzeige
AW: Globale Variable
Jürg
Hallo Ingolf,
Besten Dank!
"Eine globale Variable musst du zwingend im Deklarationsteil, d.h. ganz oben und zwar in einem benutzerdefinierten Modul..."
Dass ich die Variable in einem benutzerdefinierten Modul deklarieren muss war der springende Punkt!
Zur Erklärung:
Beim Öffnen der Datei soll der globalen Variable der Dateiname zugewiesen werden.
Also mache ich dies in der Prozedur Sub Workbook_Open()
Datei = activeworkbook.name
Die Deklaration der Variabel erfolgt also im benutzerdefinierten Modul, die Wertzuweisung in Workbook_Open()
So kann ich aus jeder Prozedur aus auf diese Variabel mit dem Dateinamen zugreifen.
Gruss
Jürg
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige