Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Globaler Variable Wert zuweisen

Forumthread: Globaler Variable Wert zuweisen

Globaler Variable Wert zuweisen
27.01.2004 11:55:08
Matze
Hi,
ich möchte ausserhalb einer Prozedur eine globale Variable anlegen und ihr einen String zuweisen.
Wie geht das?
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Globaler Variable Wert zuweisen
27.01.2004 12:01:03
Josef Ehrensberger
Hallo Matze!
Beispiel:


Option Explicit
'Allgemeines Modul
Global myString As String
Sub StringFuellen()
'Das Makro z.B. beim öffnen der Mappe aufrufen
myString = "Hallo Welt"
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige
AW: Globaler Variable Wert zuweisen
27.01.2004 12:03:18
Matze
Hi,
ja, dass wusste ich.
Aber ich wollte gerne wissen, ob es auch eine Möglichkeit gibt den Wert ausserhalb einer Sub oder Function zuzuweisen?
z.B. so:
Option Explicit
'Allgemeines Modul
Global myString As String
myString = "Hallo"
ausserhalb eine Prozedur nicht ! o.T.
27.01.2004 12:10:54
Josef Ehrensberger
/
OK, danke.... o.T.
27.01.2004 12:12:08
Matze
/
Anzeige
AW: Globaler Variable Wert zuweisen
27.01.2004 12:20:07
FCH
Hi,
wenn ich dich richtig verstanden habe, meinst du Const. Einfach in ein Standard-Modul:
Public Const MyName As String = "Hallo"
Gruß
Jürgen
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Globalen Variablen in Excel VBA Wert zuweisen


Schritt-für-Schritt-Anleitung

Um in Excel VBA eine globale Variable zu definieren und ihr einen Wert zuzuweisen, kannst Du folgende Schritte befolgen:

  1. Öffne den VBA-Editor in Excel (ALT + F11).
  2. Erstelle ein neues Modul:
    • Rechtsklicke auf "VBAProject (DeineDatei)".
    • Wähle "Einfügen" und dann "Modul".
  3. Definiere die globale Variable:
    Option Explicit
    Global myString As String
  4. Weise der globalen Variable außerhalb einer Sub oder Function einen Wert zu, indem Du sie in einer Sub initialisierst:
    Sub InitializeVariable()
       myString = "Hallo Welt"
    End Sub
  5. Rufe die Sub InitializeVariable auf, um den Wert zu setzen.

Wenn Du die Variable in einer anderen Sub verwenden möchtest, kannst Du dies einfach tun, da sie global definiert ist.


Häufige Fehler und Lösungen

  • Fehler: "Variable nicht definiert"

    • Lösung: Stelle sicher, dass Du Option Explicit am Anfang Deines Moduls verwendet hast. Das zwingt Dich, alle Variablen zu deklarieren.
  • Fehler: "Zuweisung außerhalb einer Prozedur nicht erlaubt"

    • Lösung: Du kannst den Wert einer globalen Variable nicht direkt außerhalb einer Sub oder Function zuweisen. Verwende dafür eine Sub.

Alternative Methoden

Eine alternative Möglichkeit, einen festen Wert zuzuweisen, besteht darin, eine öffentliche Konstante zu verwenden. Du kannst dies so tun:

Public Const MyName As String = "Hallo"

Diese Methode ist nützlich, wenn Du einen festen Wert benötigst, der sich während der Ausführung Deines Makros nicht ändern soll.


Praktische Beispiele

Hier ist ein einfaches Beispiel, das zeigt, wie Du eine globale Variable in verschiedenen Subs verwenden kannst:

Option Explicit
Global myString As String

Sub SetValue()
    myString = "Hallo Welt"
End Sub

Sub DisplayValue()
    MsgBox myString
End Sub

Rufe zuerst SetValue auf und dann DisplayValue, um den Wert in einer MessageBox anzuzeigen.


Tipps für Profis

  • Verwende Public anstelle von Global, wenn Du eine Variable in mehreren Modulen verwenden möchtest.
  • Achte darauf, dass Du die Variablen klar benennst, um die Lesbarkeit Deines Codes zu verbessern.
  • Nutze Option Explicit, um die Deklaration aller Variablen zu erzwingen und so Tippfehler zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich eine globale Variable in mehreren Modulen verwenden?
Du kannst die Variable mit dem Schlüsselwort Public im Hauptmodul definieren. Dann ist sie in allen Modulen verfügbar.

2. Kann ich einer globalen Variable einen Wert in einer Funktion zuweisen?
Ja, Du kannst einer globalen Variable in einer Funktion einen Wert zuweisen, solange sie innerhalb einer Sub oder Function deklariert wird.

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