Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Variable merken über mehrere "Module"

Forumthread: Variable merken über mehrere "Module"

Variable merken über mehrere "Module"
25.01.2005 08:53:59
Werner
Hallo
Wie kann ich den Wert einer Variablen zwischen mehreren Modulen austauschen.
Z.B. In einem Script aus dem Bereich "Tabelle1" wird eine Variable gesetzt, diese möchte ich im Bereich diese "Arbeitsmappe" auswerten..
Auch z.b in einem 'normalen' Modul gesetzt in anderem Modul und in den o.g. Bereichen auslesen..
Wie geht das. Hab schon mit Public, Global (bringt Fehler) versucht....
Danke für eure Hilfe, Werner
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Variable merken über mehrere "Module"
RR
Public muss ausserhalb eines Moduls stehen!
Gruß
RR
AW: Variable merken über mehrere "Module"
g
hi
Declariere im Declarationsteil eines Moduls (!!!!!!!!!!!!!!!!!!)
Public MeinVariable
AW: Variable merken über mehrere "Module"
P@ulchen
Hi Werner,
die Deklaration als Public-Variable ist richtig, muß aber in einem 'normalen' Modul erfolgen, nicht im Tabellenblatt.
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
Danke an alle. Klappt bestens!
Werner
oT
;
Anzeige
Anzeige

Infobox / Tutorial

Variablen über mehrere Module in Excel VBA nutzen


Schritt-für-Schritt-Anleitung

Um eine Variable in Excel VBA für alle Module zu definieren, musst Du ein paar wichtige Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Neues Modul erstellen: Klicke mit der rechten Maustaste auf "VBAProject (DeineArbeitsmappe)" und wähle Einfügen > Modul.
  3. Variable deklarieren: Schreibe im neuen Modul im Deklarationsteil folgende Zeile:
    Public MeinVariable As String

    Hiermit wird MeinVariable als globale Variable definiert, die in allen Modulen verfügbar ist.

  4. Wert setzen und auslesen: Du kannst nun in jedem Modul den Wert dieser Variablen setzen oder auslesen:

    ' Wert setzen
    MeinVariable = "Hallo Welt"
    
    ' Wert auslesen
    MsgBox MeinVariable

Häufige Fehler und Lösungen

  • Fehler: Variable nicht gefunden: Stelle sicher, dass die Variable im richtigen Modul deklariert wurde. Sie muss in einem "normalen" Modul und nicht in einem Arbeitsblattmodul deklariert werden.
  • Fehler: Public muss außerhalb eines Moduls stehen: Achte darauf, dass die Deklaration der Public-Variable nicht innerhalb einer Sub- oder Function-Prozedur erfolgt.

Alternative Methoden

Falls Du die globale Variable nicht verwenden möchtest, kannst Du auch:

  • Property Procedures: Erstelle Getter und Setter in einem Modul, um den Zugriff zu kontrollieren.
  • Static-Variablen: Verwende Static in einer Funktion, um den Wert zwischen Aufrufen zu speichern, jedoch ist der Zugriff auf andere Module nicht möglich.

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du eine globale Variable in verschiedenen Modulen nutzen kannst:

Modul1:

Public MeinVariable As String

Sub SetVariable()
    MeinVariable = "Wert aus Modul1"
End Sub

Modul2:

Sub GetVariable()
    MsgBox MeinVariable
End Sub

Wenn Du zuerst SetVariable ausführst und dann GetVariable, erhältst Du die Nachricht mit dem Wert "Wert aus Modul1".


Tipps für Profis

  • Verwende klare Namen: Achte darauf, dass die Namen Deiner Variablen aussagekräftig sind, um die Wartbarkeit Deines Codes zu verbessern.
  • Dokumentation: Füge Kommentare hinzu, um den Zweck Deiner globalen Variablen zu erklären.
  • Verwaltung: Halte die Anzahl globaler Variablen gering, um Verwirrung zu vermeiden und die Lesbarkeit Deines Codes zu erhöhen.

FAQ: Häufige Fragen

1. Wo genau sollte ich die globale Variable deklarieren?
Die globale Variable sollte in einem normalen Modul deklariert werden, nicht in einem Arbeitsblattmodul oder einer Klasse.

2. Kann ich eine globale Variable auch für Zahlen oder andere Datentypen verwenden?
Ja, Du kannst eine globale Variable für verschiedene Datentypen wie Integer, Double, Boolean usw. deklarieren, indem Du den Typ nach dem Public-Schlüsselwort angibst.

3. Was passiert mit der globalen Variable, wenn ich die Arbeitsmappe schließe?
Die globale Variable wird zurückgesetzt, wenn die Arbeitsmappe geschlossen wird. Du musst den Wert erneut setzen, wenn Du die Arbeitsmappe öffnest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige