Clever-Excel-Forum

Normale Version: Variablen übergeben die xte
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo tmessers, :19:

nochmal zur Verdeutlichung. Wenn du Call nutzt um eine andere Sub aufzurufen, die Parameter erwartet, musst du die Parameter in Klammen setzten. Lässt du das Call weg, müssen auch die Klammern weg. :21:

Ich arbeite - im beruflichen Umfeld - nur mit Übergabe von Variablen, nicht mit "Public". Da hast du immer die volle Kontrolle. Blush
[attachment=29010]

Starte in "Modul1" mal die Sub "Main". Am besten mit F8 im Einzelschritt. Schau dabei in den Direktbereich.
Hallo Case,

den Direktberich kannte ich noch gar nicht. Was passiert da? Ist das eine Endlosschleife?

Gruß
Marcus
Hallo, :19:

nein  - ich mache nur die Ausgabe im Direktbereich (VBA-Editor STRG+G). :21:
Hallo,
 der Code durchläuft aber doch mehrfach die selben Abläufe. Immer mit dem selben Ergebnis. Mein Gott ... was ich alles wieder erlernen muss ...

Schönen Sonntag
Marcus
Hi Marcus,

es gibt ja 3 "hilfreiche" Bereiche, den Direktbereich, die Überwachungsausdrücke und das Lokal - Fenster.

Im Überwachungsbereich baust Du Dir gezielte Überwachungsparameter auf, wo Du die Momentaninhalte siehst 

Im Direktbereich vollführst Du programmierte Ausgaben. Gerade bei Schleifen hat das den Vorteil, dass Du die aufeinanderfolgenden Inhalte nachvollziehen kannst und das auch noch nach Ende der Makros. Du kannst dann z.B. prüfen, ob gleiche Ergebnisse gewollt sind oder nicht und vielleicht durch weitere Ausgaben eventuelle Fehler weiter eingrenzen.

Im Lokalfenster hast Du eine Übersicht Deiner verwendeten Variablen nebst deren momentanen Inhalten - modulweit geltend und im jeweils laufenden Makro geltend
Was Du im Lokalfenster nicht haben würdest wären die in Deinem gesonderten "Variablenmodul" definierten Variablen, auch wenn DU die in einem laufenden Makro verwendest.
Übergebene Variablen hast DU hingegen wieder, z.B. bei Sub Tast(byVal y as String) zeigt Dir auch y an. Das Lokalfenster hat den Vorteil, dass Du nicht extra Überwachungsausdrücke definieren musst.
Hallo André,

Danke für diese ausführliche Erläuterung. Supie ..., wieder etwas dazu gelernt.

Gruß
Marcus
Ich glaube langsam lichtet sich der Schleier.

Kurze Lernzielkontrolle:
Wenn ich aus einem Makro Variablen an ein andere
Makros in einem anderen Modulen übergeben möchte, mache das
bespielsweise so.

Modul1
   Sub Makro1()
   Dim Zeile as Integer
   Dim Spalte as Interger
      ....
   Call Makro2(Zeile)
   Call Makro3(Spalte)
   End Sub

Modul2
  Sub Makro2(Zeile as Integer)
     .....
  End Sub

Modul3
  Sub Makro3(Spalte as Integer)
     .....
  End Sub

Debug.Print Zeile nehmen ich zur Kontrolle, ist aber nicht unbedingt nötig.

Ist das so korrekt?
Hallöchen,

ja, so kann man es machen. Netterweise schreibt man vor die Variable noch byval oder byref, geht aber auch ohne. Excel hat ja zuweilen ein paar Standarderwartungen …

Sub Makro2(byval Zeile as Integer)

da kannst Du auch mal zu diesen beiden Verfahrensweisen schauen.
Seiten: 1 2