Variablen übergeben die xte
#11
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.
[-] Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:
  • schauan
Top
#12
Hallo Case,

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

Gruß
Marcus

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Top
#13
Hallo, :19:

nein  - ich mache nur die Ausgabe im Direktbereich (VBA-Editor STRG+G). :21:
Top
#14
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

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Top
#15
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#16
Hallo André,

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

Gruß
Marcus

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Top
#17
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?
Top
#18
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • tmessers
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste