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

Öffentliche Deklaration von Variablen/bin zu blöd

Forumthread: Öffentliche Deklaration von Variablen/bin zu blöd

Öffentliche Deklaration von Variablen/bin zu blöd
06.11.2003 14:47:50
Russi
Hallöchen!

Ich stehe beim o.g. Thema immer wieder auf dem Schlauch und bitte Euch um Hilfe. So sieht mein Code im DieseArbeitsmappe verkürzt aus:

Option Explicit
Public VariableEins As Long
Public VariableZwei As Long

Public Static

Sub Workbook_Open()
VariableEins = 1
VariableZwei = 12
End Sub


Public Static

Sub Workbook_Close()
debug.print VariableZwei - VariableEins
End Sub


1. Wie muss ich die Variablen deklarieren, damit sie den Modulen bekannt sind?
2. Und wie kriege ich es hin, dass die in Workbook_Open zugewiesenen Werte bis zur Ausführung von Workbook_Close gespeichert werden?

Russi
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Öffentliche Deklaration von Variablen/bin zu blöd
06.11.2003 14:52:08
Andi_H
Hi Russi,

ins Modul:
Global VariableEins as Long

Public Sub VariDek()
VariableEins = 1
End Sub


in DieseArbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
call varidek
msgbox VariableEins
End Sub



Gruß
Andi
Anzeige
AW: Öffentliche Deklaration von Variablen/bin zu blöd
06.11.2003 14:55:23
Russi
Hallo Andi!

Danke für die schnelle Antwort. Hab Deinen Rat befolgt, kriege jetzt aber eine Fehlermeldung:

"Fehler beim Kompilieren: Konstanten, Zeichenfolgen fester Länge, Datenfelder und Declare-Anweisungen sind nicht als Public-Elemente von Objektmodulen zugelassen."

Wat nu?!?
Anzeige
AW: Öffentliche Deklaration von Variablen/bin zu blöd
06.11.2003 15:00:24
Michael Scheffler
Nicht íns Objektmodul "Diese Arbeitsmappe", sondern in ein einfaches Modul, das Du mit "Einfügen - Modul" bekommst.

Gruß

Miha
AW: Öffentliche Deklaration von Variablen/bin zu blöd
06.11.2003 14:58:15
Michael Scheffler
wobei

"Global" durch "Public" ersetzt werden sollte und "Public Sub" ein "Sub" sein kan.

Gruß

Micha
AW: Öffentliche Deklaration von Variablen/bin zu blöd
06.11.2003 15:03:11
Russi
Aaaahhh!!!! Ich wusste nicht, dass das einen Unterschied macht! Wers gleich mal umbasteln...

Danke Dir herzlich!!!

Russi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Öffentliche Deklaration von Variablen in Excel VBA


Schritt-für-Schritt-Anleitung

Um öffentliche Variablen in Excel VBA korrekt zu deklarieren und zu verwenden, folge diesen Schritten:

  1. Öffne ein neues Modul:

    • Gehe zu Einfügen > Modul im VBA-Editor.
  2. Deklariere die Variablen:

    • Verwende die Global-Deklaration für Variablen, die in mehreren Modulen verwendet werden sollen. Beispiel:
      Global VariableEins As Long
      Global VariableZwei As Long
  3. Verwende die Variablen in den Sub-Prozeduren:

    • In DieseArbeitsmappe, füge den Code wie folgt hinzu:

      Private Sub Workbook_Open()
       VariableEins = 1
       VariableZwei = 12
      End Sub
      
      Private Sub Workbook_BeforeClose(Cancel As Boolean)
       Debug.Print VariableZwei - VariableEins
      End Sub
  4. Speichern der Werte:

    • Die Werte, die in Workbook_Open zugewiesen werden, bleiben bis zur Ausführung von Workbook_BeforeClose erhalten, solange die Variablen global deklariert sind.

Häufige Fehler und Lösungen

  • Fehlermeldung: "Fehler beim Kompilieren":

    • Ursache: Du hast Public-Variablen im Objektmodul DieseArbeitsmappe deklariert. Lösung: Verwende Global im normalen Modul.
  • Variablen sind nicht bekannt:

    • Stelle sicher, dass du die Variablen im globalen Modul deklariert hast. Wenn du sie im Objektmodul deklariert hast, sind sie nur dort sichtbar.

Alternative Methoden

Eine Alternative zur Verwendung von globalen Variablen ist die Verwendung von Public-Variablen in einfachen Modulen. Diese sind in allen Sub-Prozeduren des Moduls zugänglich, aber nicht außerhalb des Moduls. Um die Variablen für mehrere Module zugänglich zu machen, ist die Global-Deklaration der bessere Weg.


Praktische Beispiele

Hier ist ein einfaches Beispiel, das zeigt, wie du öffentliche Variablen in einem Excel-Projekt nutzen kannst:

' Im Modul
Global Gesamt As Long

Public Sub Berechnung()
    Gesamt = 100 + 50
End Sub

' In DieseArbeitsmappe
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call Berechnung
    MsgBox "Der Gesamtwert ist: " & Gesamt
End Sub

In diesem Beispiel wird der Gesamtwert berechnet und in einer MessageBox angezeigt, bevor die Arbeitsmappe geschlossen wird.


Tipps für Profis

  • Benutze aussagekräftige Namen für deine Variablen, um den Code besser lesbar zu machen.
  • Vermeide es, zu viele globale Variablen zu verwenden, da dies zu Verwirrung führen kann. Halte den Umfang der Variablen so klein wie möglich.
  • Verwende Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich Variablen zwischen verschiedenen Excel-Dateien speichern?
Du kannst die Werte in einer externen Datei speichern oder eine Datenbank verwenden, um die Variablenwerte zu persistieren.

2. Was ist der Unterschied zwischen Public und Global?
Public deklariert Variablen, die nur innerhalb eines Moduls sichtbar sind, während Global Variablen deklariert, die in allen Modulen der Arbeitsmappe sichtbar sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige