00202
Nicht registrierter Gast
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.
[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:1 Nutzer sagt Danke an Gast für diesen Beitrag 28
• schauan
Registriert seit: 11.04.2014
Version(en): Office 2003 - Office 2007 - Office 365
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.
00202
Nicht registrierter Gast
Hallo, :19:
nein - ich mache nur die Ausgabe im Direktbereich (VBA-Editor STRG+G). :21:
Registriert seit: 11.04.2014
Version(en): Office 2003 - Office 2007 - Office 365
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.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
19.01.2020, 11:31
(Dieser Beitrag wurde zuletzt bearbeitet: 19.01.2020, 11:32 von schauan.)
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)
Registriert seit: 11.04.2014
Version(en): Office 2003 - Office 2007 - Office 365
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.
Registriert seit: 05.11.2016
Version(en): 2010
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?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• tmessers