Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

dim Variablen für alle module

Forumthread: dim Variablen für alle module

dim Variablen für alle module
20.02.2008 08:44:24
chris
Hallo VBA Experten,
wünsche einen guten morgen.
Habe auch gleich eine frage bei der ihr mir höffentlich helfen könnt.
Ich habe in einer tabelle mehere namen definiert.
Dann habe ich in der mappe mehere Module.
Und möchte in einem Modul das ich Dim_mdl genannt habe alle variablen setzen auf denen dann die einzelnen module zugreifen können.
Aber ich bekomme es irgendiwe nicht hin.
Versuche es momentan so aber es kommt immer ein fehler.
start_unterschrift = obj_datenbank.Worksheets(1).Range("start_geforderte")
usw..
es kommt immer der fehler:
Fehler beim Kompilieren
Außerhalb einer Prozedur ungültig
Würde mich sehr über Hilfe freuen danke und schönen Tag noch

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: dim Variablen für alle module
20.02.2008 08:56:47
Peter
Hallo Chris,
definiere deine Variablen außerhalb (als erstes nach Option Explicit) in einem Standard-Modul
Option Explicit
Public dDatum As Date
Public lLetzte As Long
usw.

Sub Mein_Makro()
End Sub


Gruß Peter

Anzeige
AW: dim Variablen für alle module
20.02.2008 09:22:00
chris
Danke..
habe es so gelöst.
Rufe beim Start bevor form usw.. geladen wird ein makro dimmakro auf und in dem erstelle ich die variablem mit dem wert public
Danke
;
Anzeige
Anzeige

Infobox / Tutorial

Globale Variablen in Excel VBA für alle Module definieren


Schritt-für-Schritt-Anleitung

Um in Excel VBA eine globale Variable über mehrere Module zu definieren, befolge diese Schritte:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Erstelle ein neues Standard-Modul: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" und wähle Einfügen > Modul.

  3. Definiere deine Variablen: Schreibe Option Explicit an den Anfang deines Moduls. Definiere dann deine Variablen als Public, damit sie in anderen Modulen zugänglich sind. Zum Beispiel:

    Option Explicit
    Public dDatum As Date
    Public lLetzte As Long
  4. Verwende die Variablen in anderen Modulen: Du kannst jetzt in anderen Modulen auf diese Variablen zugreifen, ohne sie erneut definieren zu müssen.


Häufige Fehler und Lösungen

Ein häufiger Fehler, den viele Anwender erleben, ist der Fehler beim Kompilieren: "Außerhalb einer Prozedur ungültig". Um diesen Fehler zu beheben:

  • Stelle sicher, dass die Variablen außerhalb jeder Sub-Prozedur definiert sind. Wenn du eine Variable innerhalb einer Sub-Prozedur definierst, ist sie nur lokal und nicht für andere Module zugänglich.

Beispiel, das diesen Fehler vermeidet:

Option Explicit
Public start_unterschrift As String

Sub Mein_Makro()
    start_unterschrift = obj_datenbank.Worksheets(1).Range("start_geforderte").Value
End Sub

Alternative Methoden

Eine alternative Methode zur Definition von Variablen in Excel VBA ist die Verwendung von Eigenschaften in einer Klasse. Dadurch kannst du Variablen kapseln und dennoch auf sie von anderen Modulen zugreifen. Zum Beispiel:

  1. Erstelle eine Klasse: Füge ein neues Klassenmodul hinzu (Einfügen > Klassenmodul).
  2. Definiere Eigenschaften: Verwende Property Get und Property Let, um Variablen sicher zu verwalten.

Beispiel:

' In deinem Klassenmodul
Private pDatum As Date

Public Property Get Datum() As Date
    Datum = pDatum
End Property

Public Property Let Datum(value As Date)
    pDatum = value
End Property

Praktische Beispiele

Hier ist ein praktisches Beispiel, wie du die Public-Variablen in einem Excel-Makro verwenden kannst:

Option Explicit
Public dDatum As Date

Sub Init()
    dDatum = Now
    MsgBox "Das aktuelle Datum ist: " & dDatum
End Sub

Du kannst Init ausführen, um das aktuelle Datum in einer MessageBox anzuzeigen. Damit hast du eine globale Variable in deinem Excel VBA-Makro definiert und erfolgreich verwendet.


Tipps für Profis

  • Organisiere deine Variablen: Halte deine globalen Variablen in einem speziellen Modul für eine bessere Übersichtlichkeit.
  • Vermeide unnötige globale Variablen: Überlege genau, ob eine Variable wirklich global sein muss. Oft ist es besser, Variablen lokal in den Prozeduren zu belassen.
  • Dokumentiere deine Variablen: Nutze Kommentare, um die Verwendung deiner globalen Variablen zu erläutern, insbesondere wenn du mit mehreren Modulen arbeitest.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine Variablen in allen Modulen verfügbar sind? Definiere die Variablen als Public in einem Standard-Modul und stelle sicher, dass du sie außerhalb von Sub-Prozeduren definierst.

2. Was bedeutet "Fehler beim Kompilieren, außerhalb einer Prozedur ungültig"? Dieser Fehler tritt auf, wenn du versuchst, Code außerhalb einer Sub-Prozedur oder Funktion zu platzieren. Stelle sicher, dass alle Anweisungen innerhalb einer Sub oder Function stehen, außer bei der Definition von Public Variablen.

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