Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
752to756
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
752to756
752to756
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA-Frage- Variablen Grundsatzfrage

VBA-Frage- Variablen Grundsatzfrage
07.04.2006 15:01:15
Rolf
Hallo,
Ich bin am progen, und da ist eine Frage aufgetaucht. Ich gebe einer Variablen einen Wert Zahl=Zahl + 1
Nachdem das Makro geschlossen ist, ist der Wert bei neuenm Beginn des Makros wieder leer.
Die Funktion soll wie ein Schalter sein, der zu Beginn prüft welchen Wert die Variable Zahl hat, und je nachdem ob sie 1 oder leer hat, soll eine Aktion ausgelöst werden (mit einem If then Else progrämmchen gemacht)
Dummerweise ist sie zu Beginn dann immer leer.
Kann man das anders lösen, so das der Variablenwert "gespeichert" wird, oder geht es irgendwie völlig anders?
Es soll so sein, das das Makro maximal 1 Mal ausgeführt werden kann...
Danke Rolf

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Frage- Variablen Grundsatzfrage
07.04.2006 15:15:46
Andi
Hi,
deklariere die Variable nicht in der Funktion, sondern außerhalb, als public:
Public Zahl as Integer
außerhalb der Prozedur in ein Standardmodul.
Wenn die Mappe geschlossen und wieder neu geöffnet wird, dann is allerdings auch die Public-Variable leer. Wenn der Wert auch dies überdauern soll, dann hast Du zwei Möglichkeiten.
Entweder Du schreibst den Wert im Workbook-Close-Ereignis in eine Zelle, und liest ihn im Workbook-Open von dort wieder in Deine Variable ein.
Oder Du verwendest die BuiltinDocumentProperties; darin sind normalerweise bestimmte Eigenschaften der Mappe gespeichert, die man aber meist gar nicht braucht, und die man auch selbst überschreiben kann. Guck Dir am besten mal in der Hilfe an, was das für Eigenschaften sind, und suc Dir eine aus. Ich verwende meist die mit Index 8 (weiss grad selbs ned, welche das is). Anwenden kannst Du das ganze dann so:
Workbooks("Mappe1.xls").BuiltinDocumentProperties(8).Value = _
Workbooks("Mappe1.xls").BuiltinDocumentProperties(8).Value + 1
Beide Varianten erfordern allerdings, dass beim Schliessen die Änderungen gespeichert werden.
Schönen Gruß,
Andi
Anzeige
AW: VBA-Frage- Variablen Grundsatzfrage
07.04.2006 15:40:17
Rolf
Danke!
Habe mit die Public-Methode ausgescuht, die reicht für meine Zwecke! Danke!
Gruss
Rolf
Gern geschehen... (ot)
07.04.2006 15:45:40
Andi
.
AW: VBA-Frage- Variablen Grundsatzfrage
07.04.2006 15:17:27
Hugo
Hallo,
Variable entweder außerhalb der Prozedur mit Public deklarieren oder innerhalb der Prozedur mit Static oder die Variable irgendwo im Tabellenblatt oder in den Dokumenteneigenschaften zwischenspeichern.
Hugo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige