Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
756to760
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
756to760
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Variablen in VBA Applikationen
19.04.2006 08:54:24
Bernd
Folgende Problematik. In meinem Projekt werden bestimmte Abfragen von Tabellenzuständen in mehreren Modulen mit identischen Code ebi Click auf die entsprechende befehlsschaltfläche der Userform ausgeführt. Nun hatte ich mir gedacht diesen identischen Code in ein extra Modul auszulagern und dann bei Bedarf als Unterprogramm auszuführen. Die funktioniert auch soweit gut, wenn ich die zu übergebenden Werte in einer Tabelle zwischenspeichere und dann wieder auslese, dies bringt mir aber kaum Gewinn, da der Code in den einzelenen Modulen dadurch kaum geringer wird. Nun Habe ich versucht die Variablen als public Variablen zu definieren.
public introw as string
Zur Kontrolle habe ich in den Zwischenschritten den Wert der Variablen abgefragt und folgendes festgestellt. Am Ende der Subroutine hat die Variable noch den richtigen Wert. Sobald der Rücksprung in die aufrufende Routine erfolgt ist, ist die Variable leer.
Mein Problem ist also, wie kann ich den Inhalt der Variablen mit übergeben?
Danke für Eure Hilfe

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variablen in VBA Applikationen
19.04.2006 09:13:36
Erich
Hallo Bernd,
dieses Verhalten lässt vermuten, dass die Variable introw nicht nur einmal (als public), sondern in noch einmal in einem Modul deklariert. Damit hättest du dann zwei verschiedene Variablen, die nichts miteinander zu tun haben.
Die Deklaration "public introw as string" sollte in einem Standard- (also nicht Klassen-)Modul stehen.
Übersichtlicher ist es vermutlich, wenn du der Subroutine die Variable als Parameter mitgibst:

Sub xyz(iRow as String)

und dann die Subroutine jeweils mit "Call xyz(introw)" aufrufst.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Variablen in VBA Applikationen
20.04.2006 18:03:17
Bernd
Ich will mich erst einmal bedanken, leider hatte ich noch keine Möglichkeit den Vorschlag auszuprobieren.
Was heißt Formulierung Klassen- und Standardmodul?. Da bin ich doch noch zu sehr VBA Anfänger.
Die Deklaration publik habe ich stehen im Bereich "Diese Arbeitsmappe Allgemein Deklarationen".
Ich hatte dort auch zwei andere Variable deklariert. Wo ich ein ähnliches Problem habe. Eigentlich wollte ich den Speicherort und die Verzeichnisse für die aus dem Projekt generierten Tabellen für die Laufzeit speichern und für Speicheroperationen zur Verfügung haben. Jetzt liegen die Angabe ich einer Deklarationstabele des Workbooks und werden immer bei Bedarf neu ausgelesen. Dies wollte ich eigetlich mit dem Ereignis Workbook open einmal erledigen.
Danke
Bernd Cramer
Anzeige
AW: Variablen in VBA Applikationen
20.04.2006 18:18:09
Erich
Hallo Bernd,
die Module zu Excel-Objekten wie "DieseArbeitsmappe" oder "Tabelle1" nennt man Klassenmodule. Ein Standardmodul (oder "normales" Modul) legst du im VBA-Menü mit "Einfügen - Modul" an. Dann entsteht unter "Module" ein "Modul1". Hier gehören die Deklarationen für globale Variablen hin - oberhalb des ersten ventuell vorhandenen Makros. (Danach musst du die Deklarationen im "DieseArbeitsmappe"-Modul löschen.)
Schaust du dir die Möglichkeit mit den Parametern auch noch an?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige