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

Nach Sub-Ende Daten in Variablen behalten

Forumthread: Nach Sub-Ende Daten in Variablen behalten

Nach Sub-Ende Daten in Variablen behalten
07.08.2002 22:15:08
Tobias Fries
Hallo liebe Leute,

ich verzweifele:
Ich möchte in einem Private-Sub die Daten von Variablen (die ich vorher im Sub definiert habe) für den nächsten Start dieses gleichen Subs behalten.

Wie kann ich den Inhalt der Variablen über die EndSub-Grenze hinaus behalten?

Grüsse, Tobias

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Nach Sub-Ende Daten in Variablen behalten
07.08.2002 22:21:25
ANdreas
Hallo Tobias,

entweder Du deklarierst die Variablen mit Static statt mit Dim (dazu siehe auch in der Excel-Hilfe). Oder Du speicherst die Variablen in einem Tabellenblatt seperat ab und liest sie bei Bedarf wieder ein...

Viel Spaß,
Andreas

Re: Nach Sub-Ende Daten in Variablen behalten
08.08.2002 06:22:43
Hajo_Zi
Hallo Tobias

oder Du definierst die Variablen mit Public

Gruß Hajo

Anzeige
;
Anzeige

Infobox / Tutorial

Nach Sub-Ende Daten in Variablen behalten


Schritt-für-Schritt-Anleitung

Um sicherzustellen, dass Deine Variablen in einem Private Sub auch nach dem Ende des Subs erhalten bleiben, kannst Du die folgenden Schritte befolgen:

  1. Variablen deklarieren: Statt Dim solltest Du Static oder Public verwenden.

    • Beispiel mit Static:
      Sub MeinSub()
       Static meineVariable As Integer
       meineVariable = meineVariable + 1
       MsgBox meineVariable
      End Sub
    • Beispiel mit Public:

      Public meineVariable As Integer
      
      Sub MeinSub()
       meineVariable = meineVariable + 1
       MsgBox meineVariable
      End Sub
  2. Daten speichern: Alternativ kannst Du die Variablen in einem Tabellenblatt speichern, um sie beim nächsten Aufruf des Subs wieder einzulesen.


Häufige Fehler und Lösungen

  • Fehler: Variablen werden zurückgesetzt.

    • Lösung: Stelle sicher, dass Du Static oder Public verwendest. Dim setzt die Variable bei jedem Aufruf zurück.
  • Fehler: Schwierigkeiten beim Zugriff auf die Variable aus einem anderen Modul.

    • Lösung: Wenn Du Public verwendest, stelle sicher, dass Du die Variable im richtigen Modul deklariert hast.

Alternative Methoden

Falls Du die Variablen nicht in einem Sub behalten möchtest, gibt es einige alternative Methoden:

  • Verwendung von Zellen: Speichere die Werte in Zellen eines Arbeitsblattes und lese sie beim nächsten Start des Subs wieder ein.
  • Nutzung von benutzerdefinierten Datentypen: Du kannst auch benutzerdefinierte Datentypen verwenden, um mehrere Variablen zusammen zu speichern.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du Deine Daten in Variablen über das Ende des Subs hinaus behalten kannst:

  • Mit Static:
    Sub Zähler()
      Static zähler As Integer
      zähler = zähler + 1
      MsgBox "Zähler: " & zähler
    End Sub
  • Mit Public und Zellen:

    Public meineVariable As Integer
    
    Sub Speichern()
      meineVariable = meineVariable + 1
      Sheets("Daten").Range("A1").Value = meineVariable
    End Sub
    
    Sub Laden()
      meineVariable = Sheets("Daten").Range("A1").Value
      MsgBox "Geladene Variable: " & meineVariable
    End Sub

Tipps für Profis

  • Nutze Static für temporäre Zähler oder Werte, die nur innerhalb eines Moduls benötigt werden.
  • Verwende Public, wenn Du die Variablen in mehreren Subs oder Modulen zugänglich machen möchtest.
  • Überlege, ob es sinnvoll ist, Daten in Zellen zu speichern, um sie auch nach Beendigung der Excel-Sitzung zu behalten.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine Variablen beim nächsten Aufruf eines Subs wieder verfügbar sind? Verwende entweder Static für lokale Subs oder Public, um die Variablen über Module hinweg zu teilen.

2. Was ist der Unterschied zwischen Static und Public? Static hält den Wert einer Variablen innerhalb eines Subs, während Public den Wert über mehrere Subs und Module hinweg beibehält.

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