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

VBA Variable in allen Modulen verfügbar machen

Forumthread: VBA Variable in allen Modulen verfügbar machen

VBA Variable in allen Modulen verfügbar machen
28.10.2003 16:03:38
Russi
Hallo Ihr Profis!

Ich brauche in einer Excel-Datei eine Variable, die automatisch in allen Modulen verfügbar ist und deren Wert über die gesamte Nutzungsdauer der Excel-Datei bis zum Schließen gespeichert wird.

Diese Möglichkeit muss es doch geben, oder?!? Und wenn ja, wie mache ich das?

Viele Grüße
Russi
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Variable in allen Modulen verfügbar machen
28.10.2003 16:09:34
Martin Halberstadt
Hallo Rossi,

ich bin zwar erst am Anfang meiner "Dazulernphase", aber eine Idee hätte ich.

Probiers mal so:

- Füge ein neues Modul hinzu
- Schreibe folgenden Code in das Modul:


Sub auto_open()
Dim "Variablen-Name" As "Deklarierung"
End Sub


Ich hoffe, dass ich Dir damit weiterhelfen konnte.

Gruß,
Martin
Anzeige
noch offen...
28.10.2003 16:12:45
Russi
Sorry, Martin. Aber nach Deiner Lösung wird 1. die Variable und 2. der Wert der Variable nach Ausführung des Auto_open-Codes gelöscht. Aber genau das sollte nicht sein.

Vielleicht weitere Ideen?
noch offen...
28.10.2003 16:12:53
Russi
Sorry, Martin. Aber nach Deiner Lösung wird 1. die Variable und 2. der Wert der Variable nach Ausführung des Auto_open-Codes gelöscht. Aber genau das sollte nicht sein.

Vielleicht weitere Ideen?
Anzeige
AW: VBA Variable in allen Modulen verfügbar machen
28.10.2003 16:13:38
Hajo_Zi
Halo Martin

damit ist die Variable in Auto_Open definiert in keinem anderem Makro oder Modul.

Die muß gleich zu Anfang des Moduls mit Public geschehen.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.


Anzeige
AW: VBA Variable in allen Modulen verfügbar machen
28.10.2003 16:21:02
Russi
Hallo Hajo!

Meinst Du so:

Option Explicit
Dim Auswertung as boolean

public

Sub blabla()
debug.print auswertung
End Sub


Meine Idee (die selbstverständlich völlig falsch sein kann und offensichtlich auch ist) war, die Variable außerhalb der Module zu "dimmen" (kleines Wortspiel)

Aber irgendwie geht das nicht...

Russi
Anzeige
AW: VBA Variable in allen Modulen verfügbar machen
28.10.2003 16:33:00
Hajo_Zi
Halo Russi

Option Explicit
Public Auswertung as boolean

Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.


Anzeige
AW: VBA Variable in allen Modulen verfügbar machen
29.10.2003 07:53:34
Russi
Hallo Hajo!

Et funzt!!! DANKE!!!

Viele Grüße
Russi
AW: VBA Variable in allen Modulen verfügbar machen
28.10.2003 16:22:54
Martin Halberstadt
Hallo Russi, hallo Hajo,

habt vielen Dank für Euren Hinweis.
Vielleicht sollte ich hiervon einen Bildschirmausdruck machen und das ganze meinem Berufsschullehrer zeigen.

Dem würde die Schames-Röte ins Gesicht steigen..........das von mir geschriebene beruht nämlich auf seinem Lehrstoff.

Gut zu wissen, dass ein Mensch, der andere benotet wahrscheinlich genau so wenig weiß, wie man selbst.

Einen schönen Tag Euch beiden noch.

Gruß,
Martin
Anzeige
AW: VBA Variable in allen Modulen verfügbar machen
28.10.2003 16:24:38
Russi
hee hee...das mach mal! Und wenn Dein Lehrer Dir die richtige Lösung verrät, melde Dich doch mal!!!

Russi
AW: VBA Variable in allen Modulen verfügbar machen
28.10.2003 16:17:44
golem
mir fällt da spontan Public ein
Gruß
Goli
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

VBA Variable in allen Modulen verfügbar machen


Schritt-für-Schritt-Anleitung

Um eine VBA Variable für alle Module zu definieren, befolge diese Schritte:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel, indem Du ALT + F11 drückst.
  2. Füge ein neues Modul hinzu:
    • Rechtsklicke auf "VBAProject (DeinWorkbookName)" und wähle "Einfügen" > "Modul".
  3. Definiere die Variable als Public am Anfang des Moduls:
    Option Explicit
    Public Auswertung As Boolean

    Diese Zeile sorgt dafür, dass die Variable globale Variablen in VBA sind und in allen Modulen verfügbar sind.

  4. Du kannst nun die Variable in verschiedenen Subroutinen verwenden, z.B.:
    Sub Beispiel()
       Auswertung = True
       Debug.Print Auswertung
    End Sub

Häufige Fehler und Lösungen

  • Fehler: Variable wird nicht erkannt

    • Stelle sicher, dass die Variable mit Public deklariert ist und sich am Anfang des Moduls befindet.
  • Fehler: Wert geht nach Ausführung verloren

    • Wenn die Variable als lokale Variable in einem Sub definiert wurde, wird der Wert nach dem Verlassen des Subs gelöscht. Verwende Public für globale Variablen.

Alternative Methoden

Eine alternative Methode zur Definition einer globalen Variable in Excel VBA ist die Verwendung von UserForms oder Klassenmodulen. Diese können auch Eigenschaften und Methoden enthalten, die den Variablenwert steuern.

  1. Erstelle ein neues Klassenmodul:
    • Rechtsklicke auf "VBAProject (DeinWorkbookName)" und wähle "Einfügen" > "Klassenmodul".
  2. Definiere die Variable in der Klasse:
    Public Auswertung As Boolean
  3. Instanziere die Klasse in einem Modul und verwende die Variable.

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du eine VBA globale Variable verwenden kannst:

Public Auswertung As Boolean

Sub SetzeWert()
    Auswertung = True
End Sub

Sub ZeigeWert()
    Debug.Print Auswertung ' Gibt True aus, wenn SetzeWert() vorher aufgerufen wurde.
End Sub

Verwende die Subroutinen in der Reihenfolge, um zu sehen, wie die globale Variable funktioniert.


Tipps für Profis

  • Nutze Option Explicit am Anfang jedes Moduls, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.
  • Überlege, ob Du Variablen in verschiedenen Modulen sinnvoll gruppieren kannst, um die Übersichtlichkeit zu verbessern.
  • Verwende die Funktion Debug.Print, um die Werte von Excel Variablen anzuzeigen, während Du an Deinem Code arbeitest.

FAQ: Häufige Fragen

1. Wie kann ich eine globale Variable in einem anderen Modul verwenden?
Indem Du die Variable als Public deklarierst, ist sie in allen Modulen verfügbar.

2. Was passiert, wenn ich eine Variable nicht mit Public deklariere?
Die Variable ist dann nur innerhalb des Moduls verfügbar, in dem sie definiert wurde, und wird nach dem Verlassen des Moduls gelöscht.

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