Clever-Excel-Forum

Normale Version: Überrgabe von Variablen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Excel-Gemeinde,

ich wende mich heute mit einem Thema an Euch,
zu dem bereits sehr viel geschrieben wurde.
Ich habe versucht mich selbst einzufuchsen, komme
jedoch nicht weiter.

Mein Problem ist folgendes:

Ich habe meherere Prozeduren, die in einem Modul hintereinander ablaufen.
Das funktioniert ganz gut, ist aber aufgrud der Länge des Codes etwas unübersichtlich.
Um das Projekt weiterzuentwickeln muss ich den Code aufteilen. Das liegt daran, dass ich
zur Aktualisierung der Daten den Code im Modul an bestimmten Stellen starten müsste.
Da erscheint mir das Aufteilen des Codes geschickter.

Jetzt stellt sich das Problem der Übergabe der Variablen.

Als Beispiel

Modul 1
Public Sub berechnung1()

'berechnet die Variable var1
'Diese übergebe ich mit
call berechung2(var1)
'in
Modul2

Public Sub berechnung2(var1)
Der Wert var1 wird in das Modul2 übernommen.

Die Variable var1 benötige ich weiteren Modulen,
die nicht aufeinanderfolgend mit call aufgerufen werden.

Weiß wer Rat?

Gruß

tmessers
Hallo!

Verstehe ich es richtig, dass du deine Variablen sozusagen permanent verfügbar haben möchtest? Der einfachste Weg dazu ist, den Inhalt der Variablen in eine beliebige Zelle zu schreiben und bei Bedarf einfach abzurufen.
Ja, ich möchte sie bei Bedarf aufrufen können.
Hier bräuchte ich den Hinweis wie das am effizientesten geht.
Geht das über die variablendeklaration mit Public oder Global?
Hallo,

und wo ist der superlange Code?
Den sehe ich nämlich nicht.


Am Besten und Sinnvollsten wäre es, Du stellst Deine Beispieldatei (keine Bilder) hier vor.
Das dürfte das allgemeine Raten enorm verkürzen.

Geht das über die variablendeklaration mit Public oder Global?
Jepp: das würde ich mal als Erstes vorschlagen.

Hallo,

... lege ein Modul ähnlich dem unten vorgestellten an.
Dann kannst Du Deine Variablen jederzeit abrufen und einsetzen.
Zitat:Hier bräuchte ich den Hinweis wie das am effizientesten geht.
Ich war der Meinung, das hätte ich bereits geschrieben. Und ja, Public Deklaration ist natürlich erforderlich.
Hallo,

Zitat:Hier bräuchte ich den Hinweis wie das am effizientesten geht.

... wenn Du die oben von mir vorgeschlagene Form des "Aufrufens" nutzen willst,
dann könntest Du es folgendermaßen einsetzen:

schreibe in das Klassenmodul "DieseArbeitsmappe" in das "Workbook_Open-Ereignis"
den folgenden Code

Zitat:Option Explicit

Private Sub Workbook_Open()
    aufrufen
End Sub

bei jedem Start Deiner Datei stehen Dir dann alle dort definierten Variablen sofort zur Verfügung.
Hallo

schöne Arbeit von Käpt'n Blaubär, ıch habe früher auch oft ein Global oder Public Modul für Variable angelegt.
Ergaenzend möchte ich noch hinzufügen das man dort auch Public Const Daten und Adressen notieren kann.

Bitte beim Einsatz im Makro daran denken das Öffentliche Variable beim verlassen des Makro nicht automatisch gelöscht werden! 
Der zuletzt berechnete Wert bleibt bestehen!  Was für eine Übergabe an das naechste Makro ja sehr sinnvoll ist.

mfg  Gast 123