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

Forumthread: "Globale" Variablen Definieren

"Globale" Variablen Definieren
24.01.2006 18:00:21
Christian
Hallo Profis
Ich habe ein Kontrollkästchen mit dem ich Hilfekommentare ein und Ausblenden lassen will.
Das Kontrollkästchen ist logischerweise Boolean definiert.
Ich will jetzt von verschiedenen Makros und Worksheets auf dieses Kontrollkästchen zugreifen. Ich brauche also eine Globale Variable die mir anzeigt ob das Kontrollkästchen aktiv(true) oder inaktiv (false) ist... (Stichwort Public vielleicht?)
Ich hab jetzt schon über 1h lang die Hilfe gelesen.. und irgendwie hab ich die meinung das man sich da gegenseitig widerspricht.. und funktionieren tut nix… kann mir jemand helfen?
vielen dank
christian
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "Globale" Variablen Definieren
24.01.2006 18:10:21
Lars
Hi,
Public ist richtig, die Deklaration muss in einem Standardmodul oben vor der ersten Sub erfolgen.
mfg Lars
AW: "Globale" Variablen Definieren
24.01.2006 18:18:36
sönke
Hallo!
Lars hats ja schon geschrieben.
Hier noch zwei Beispiele:
Const cstrSheets As String = "Sheets"
Public intlastColumn As Integer
Gruß
Sönke
AW: "Globale" Variablen Definieren
24.01.2006 18:22:21
Lars
Public Const cstrSheets As String = "Sheets"
muss es heißen.
mfg Lars
Anzeige
AW: "Globale" Variablen Definieren
26.01.2006 15:21:39
Sönke
Hallo Lars,
stimmt, das wäre sonst natürlich nur eine Konstante. Public muss davor.
Gruß
Sönke
AW: "Globale" Variablen Definieren
25.01.2006 00:09:07
Nepumuk
Hallo Christian,
so etwas könntest du z.B. mit einer öffentlichen Klasse machen. Ich hab mal ein paar Beispiele zusammengebastelt, in denen du siehst, wie Werte zwischen Mappen ausgetauscht werden.
https://www.herber.de/bbs/user/30356.zip
Gruß
Nepumuk

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Globale Variablen in Excel VBA definieren


Schritt-für-Schritt-Anleitung

Um eine globale Variable in Excel VBA zu definieren, folge diesen Schritten:

  1. Öffne den VBA-Editor in Excel, indem du Alt + F11 drückst.

  2. Klicke im Projektfenster mit der rechten Maustaste auf einen beliebigen Eintrag und wähle Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Im neuen Modul kannst du deine globale Variable deklarieren. Verwende das Schlüsselwort Public, um die Sichtbarkeit der Variablen zu ermöglichen. Zum Beispiel:

    Public isCheckboxActive As Boolean
  4. Diese Variable kannst du jetzt in verschiedenen Makros und Arbeitsblättern verwenden. Um den Wert zuzuweisen, kannst du dies in einem Sub durchführen:

    Sub SetCheckboxStatus()
       isCheckboxActive = True ' oder False, je nach Zustand des Kontrollkästchens
    End Sub
  5. Um die Variable in einem anderen Makro zu verwenden, greife einfach auf sie zu:

    Sub CheckCheckboxStatus()
       If isCheckboxActive Then
           MsgBox "Das Kontrollkästchen ist aktiv!"
       Else
           MsgBox "Das Kontrollkästchen ist inaktiv!"
       End If
    End Sub

Häufige Fehler und Lösungen

  • Fehler: "Variable nicht definiert"

    • Lösung: Stelle sicher, dass die globale Variable im richtigen Modul deklariert wurde und dass du Public verwendest.
  • Fehler: Der Wert der Variablen bleibt nach dem Schließen von Excel erhalten.

    • Lösung: Überprüfe, ob du die Variable in einem Modul und nicht in einem Arbeitsblatt oder einer Klasse definiert hast.

Alternative Methoden

Eine alternative Methode zur Verwendung von globalen Variablen in Excel VBA ist die Verwendung von öffentlichen Klassen. Du kannst eine Klasse erstellen, um die Werte zwischen verschiedenen Mappen auszutauschen. Dies ist besonders nützlich, wenn du mehrere Instanzen von Daten verwalten möchtest.

  1. Erstelle eine neue Klasse im VBA-Editor.
  2. Deklariere die Variablen als Public innerhalb der Klasse.
  3. Greife in deinem Modul auf diese Klasse zu, um die Werte zu setzen und auszulesen.

Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung von globalen Variablen:

  • Beispiel 1: Verwenden eines Kontrollkästchens, um eine globale Variable zu steuern.

    Public isCheckboxChecked As Boolean
    
    Sub Checkbox_Click()
       isCheckboxChecked = Not isCheckboxChecked
    End Sub
  • Beispiel 2: Übertragen von Daten zwischen zwei Makros.

    Public userName As String
    
    Sub SetUserName()
       userName = "Max Mustermann"
    End Sub
    
    Sub DisplayUserName()
       MsgBox "Willkommen, " & userName
    End Sub

Tipps für Profis

  • Verwende Konstanten, wenn du Werte definieren möchtest, die sich nicht ändern. Zum Beispiel:

    Public Const cstrAppName As String = "Mein Excel Tool"
  • Halte deine globalen Variablen organisiert, indem du sie in einem speziellen Modul für Variablen sammelst.

  • Achte darauf, dass der Gültigkeitsbereich der globalen Variablen auf das gesamte Projekt beschränkt ist. Vermeide Kollisionen mit Variablen in anderen Modulen.


FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen einer lokalen und einer globalen Variable?
Eine lokale Variable ist nur innerhalb der Prozedur oder Funktion sichtbar, während eine globale Variable im gesamten Projekt zugänglich ist.

2. Wie kann ich den Wert einer globalen Variable zurücksetzen?
Du kannst den Wert einer globalen Variable einfach in einem Sub zurücksetzen, indem du ihr einen neuen Wert zuweist, z. B. isCheckboxActive = False.

3. Kann ich auch Arrays als globale Variablen definieren?
Ja, du kannst Arrays als globale Variablen definieren, indem du sie wie folgt deklarierst:

Public myArray() As Integer

Jetzt bist du bestens gerüstet, um globale Variablen in Excel VBA zu definieren und effektiv zu nutzen!

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