Anzeige
Archiv - Navigation
1200to1204
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
Inhaltsverzeichnis

Code schrittweise ablaufen lassen

Code schrittweise ablaufen lassen
Peter
Guten Abend
Ich habe ein Makro, das selbst etwa 30 Subroutinen aufruft. Ich will die Zwischenergebnisse jeweils begutachten und dann den Makro weiterlaufen lassen. Die VBA-Umgebung möchte ich während der ganzen Zeit nicht sehen.
Da ich nicht weiss, wie das geht, habe ich mir folgenden Workarround überlegt: immer dort, wo der Code anhalten soll, baue ich eine MsgBox ein. Wenn ich das jeweilige Zwischenergebnis begutachtet habe, quittiere ich die MsgBox und der Code läuft weiter, bis die nächste MsgBox erscheint.
Sicher gibt es inteligentere Lösungsansätze - danke für jede Rückmeldung. Ich kann jedoch nicht die Subroutinen einzeln Aufrufen, weil verschiedene Variablen sonst nicht mit bestimmten Werten abgefüllt sind.
Gruss, Peter

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Code schrittweise ablaufen lassen
28.02.2011 22:11:15
Uwe
Hallo, Peter,
Deine Idee mit der Msgbox ist wohl ein richtiger weg.
Denkbar wäre aber auch, dass Du die Zwischentestate (zusätzlich) auf ein eigenes Protokoll-Tabellenblatt schreiben läßt. Dabei könnten die gelichen Ergebnisse gesammelt werden, die dann auch für eine spätere Sichtung zur Verfügung stehen. Die Verwaltung dieses Blattes wäre dann z.B. über globale, ggf, wenn erforderlich, modulübergreifende Variable steuerbar.
Gruß,
Uwe
AW: Code schrittweise ablaufen lassen
28.02.2011 22:24:47
Ramses
Hallo
"...Ich kann jedoch nicht die Subroutinen einzeln Aufrufen, weil verschiedene Variablen sonst nicht mit bestimmten Werten abgefüllt sind..."
Das ist falsch. Das geht.
Ansonsten das vorgehen wie von Uwe beschrieben, ausser du willst die weitere Ausführung deiner Makro vom Erreichen bestimmter Zwischenwerte abhängig machen.
Gruss Rainer
Anzeige
AW: Code schrittweise ablaufen lassen
01.03.2011 09:32:09
Peter
Guten Tag
Vielen Dank für die Antworten.
Frage an Rainer:
Zu meiner Aussage
"...Ich kann jedoch nicht die Subroutinen einzeln Aufrufen, weil verschiedene Variablen sonst nicht mit bestimmten Werten abgefüllt sind..."
sagst du, das ist falsch; das geht. Interpretiere ich richtig, dass du damit meinst, dass ich halt bei jeder Subroutine die Variablen entsprechend deklarieren muss
Gruss, Peter
AW: Code schrittweise ablaufen lassen
01.03.2011 10:35:41
Ramses
Hallo
"...dass ich halt bei jeder Subroutine die Variablen entsprechend deklarieren muss..."
Nein,... arbeite mit globalen bzw. public Variablen, die sind solange gültig wie nötig. Egal wieviele Subroutinen du aufrufen musst
Beispiel
Option Explicit
'Öffentliche oder globale Variablen müssen ausserhalb
'einer Subroutine deklariert werden
Public varCounter As Long
Public varString As String

'Konstanten behalten Ihren Wert auch wenn das Makro abgeschlossen ist
'Die Inhalte können jedoch nicht geändert werden im Gegensatz zu den
'"Public"-Variablen
Const varStatic As String = "Konstantentext"


Sub start()
    MsgBox "Die Variable ""varCounter"" hat den Wert: " & varCounter
    MsgBox "Die Variable ""varString"" hat den Wert: " & varCounter
    varCounter = 1
    varString = "Sub Start() ist gelaufen" & vbCrLf
    start2
End Sub

Sub start2()
    MsgBox "Die Variable Varcounter hat den Wert: " & varCounter
    varCounter = varCounter + 1
    varString = varString & "Sub Start2() ist gelaufen" & vbCrLf
    start3
End Sub

Sub start3()
    MsgBox "Die Variable Varcounter hat den Wert: " & varCounter
    varCounter = 0
    varString = varString & "Sub Start3() ist gelaufen" & vbCrLf
    MsgBox "Am Ende hat die Variable ""varCounter"" wieder den Wert: " & varCounter
    MsgBox "Die Variable ""varString"" hat nun den Inhalt: " & vbCrLf & varString & vbCrLf & _
    "und verfällt nach dem Beenden des letzten Makros. Bitte Makro ""Test"" noch starten"
End Sub

Sub test()
    MsgBox "Der Inhalt von ""varString"" ist: " & varString
    MsgBox "Der Inhalt der Konstanten ""varStatic"" ist jedoch immer noch gültig: """ & varStatic & """"
End Sub

Gruss Rainer
Anzeige
AW: Code schrittweise ablaufen lassen
01.03.2011 11:16:27
Peter
Hallo Rainer
Vielen Dank für die ausführliche Erläuterung.
Gruss, Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige