Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Debuggen Einzelschritt

Forumthread: Debuggen Einzelschritt

Debuggen Einzelschritt
UweD
Hallo Leute
Wenn ich Probleme in einem Macro habe, verwende ich im Debuggmode den Einzelschritt F8 um den Code zu überprüfen.
Dabei ist mir heute aufgefallen:
Wenn in einem Macro eine andere Datei geöffnet wird,
dann läuft ab diesem Schritt das Macro bis zum Ende durch und warten NICHT nach diesem Schritt auf die weitere F8-Tastenbetätigung.
Bis zu dem Schritt "Datei öffnen" klappt das Durchclicken wunderbar.
- - -
Ich habe einen anderen Rechner jetzt mit WIN7.
Auf dem alten Rechner (WIN NT) ist das Problem so nicht aufgetreten.
Kennt jemand das Problem und einen Tip? Evtl. eine Einstellung, die jetzt fehlt?
Danke und Gruß aus Siegen
UweD

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Debuggen Einzelschritt
03.09.2012 16:57:44
Luschi
Hallo Uwe,
habe sowas bei mir (Wiin7-Ultimate / Excel 2003 - 2007 . 2010) noch nicht festgestellt, aber zwinge doch den Debugger durch Breakpoints zu den von Dir gewünschten Zwischenstopps.
Gruß von Luschi
aus klein-Paris

AW: Debuggen Einzelschritt
03.09.2012 17:18:52
UweD
Hallo
Das mache ich schon so.
Ich baue eine Stop Befehl ein.
Ist nur blöd, wenn es dann läuft muss man immer daran denken die Zeile wieder
rauszunehmen oder auszukommentieren.
Danke und Gruss aus Siegen

Anzeige
wer spricht von Stop?
04.09.2012 12:07:57
Stop?
Hallo,
setze Haltepunkte. In Zeile gehen und F9 drücken.
Wenn du die Mappe schließt, sind sie wieder weg.
Gruß
Rudi

AW: wer spricht von Stop?
04.09.2012 13:24:22
Stop?
Hallo Rudi
klar, das ist besser.
Werde ich übergangsweise so machen.
Ich habe im Netz mehrfach gelesen, das von manchen Zusatzprogrammen (meist auf Notebooks = das hab ich auch) die F8 Taste belegt wird..... ggf. wird diese ggf beim Datei öffnen abgefragt?
Das lass ich jetzt mal von unserer EDV prüfen.
Danke und Gruss UweD
Anzeige
;
Anzeige

Infobox / Tutorial

Debuggen von Excel-Makros im Einzelschritt


Schritt-für-Schritt-Anleitung

  1. Excel Debugger öffnen: Starte Excel und öffne das Makro, das du debuggen möchtest.
  2. VBA-Editor öffnen: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  3. Makro auswählen: Wähle das Makro, das du debuggen möchtest, aus dem Projektfenster aus.
  4. Breakpoint setzen: Gehe zu der Zeile im Code, an der du anhalten möchtest, und drücke F9, um einen Haltepunkt zu setzen.
  5. Debuggen starten: Drücke F5, um das Makro auszuführen. Es stoppt an dem gesetzten Haltepunkt.
  6. Einzelschritt durchlaufen: Verwende F8, um durch den Code zu schrittweise durchzugehen und jeden Schritt zu beobachten. Achte darauf, wie sich die Variablenwerte ändern.
  7. Fehlerbehebung: Solltest du auf einen Fehler stoßen, kannst du den aktuellen Zustand des Codes analysieren und gegebenenfalls Anpassungen vornehmen.

Häufige Fehler und Lösungen

  • Problem: Das Makro läuft bis zum Ende durch, ohne auf F8 zu warten, wenn eine andere Datei geöffnet wird.

    • Lösung: Stelle sicher, dass du den Excel Debugger korrekt verwendest. Setze Breakpoints an kritischen Stellen im Code, um das Problem zu isolieren.
  • Problem: F8-Taste funktioniert nicht wie erwartet.

    • Lösung: Überprüfe, ob andere Programme die F8-Taste belegen. Gegebenenfalls musst du diese Programme schließen oder die Belegung ändern.

Alternative Methoden

  • Verwendung von Stop-Befehlen: Du kannst Stop-Befehle in deinen Code einfügen, um das Makro an bestimmten Punkten anzuhalten. Dies ist jedoch weniger elegant, da du daran denken musst, sie nach dem Debuggen zu entfernen oder auszukommentieren.

  • Verwendung von Debug.Print: Um Werte und Variablen während des Debuggens zu verfolgen, kannst du Debug.Print verwenden, um Informationen ins Direktfenster auszugeben.

Debug.Print "Der Wert von x ist: " & x

Praktische Beispiele

  1. Ein einfaches Makro debuggen:

    Sub BeispielMakro()
       Dim x As Integer
       x = 10
       Debug.Print "Wert von x: " & x
       x = x + 5
       Debug.Print "Neuer Wert von x: " & x
    End Sub

    Nutze F8, um durch die Zeilen zu gehen und die Ausgaben im Direktfenster zu beobachten.

  2. Fehler beim Dateizugriff:

    Sub DateiOeffnen()
       Dim wb As Workbook
       Set wb = Workbooks.Open("C:\Pfad\zur\Datei.xlsx")
       ' F8 hier verwenden, um den Status zu prüfen
    End Sub

    Achte darauf, wie das Makro reagiert, wenn die Datei geöffnet wird.


Tipps für Profis

  • Nutze Haltepunkte strategisch: Setze Haltepunkte nicht nur an Fehlerstellen, sondern auch an logischen Übergängen, um den Fluss deines Codes besser zu verstehen.
  • Automatisiere das Debuggen: Erstelle Funktionen, die häufige Debugging-Aktionen automatisieren, um Zeit zu sparen.
  • Dokumentiere deinen Code: Halte wichtige Gedanken und Überlegungen zu deinem Code fest, um das Debuggen in Zukunft zu vereinfachen.

FAQ: Häufige Fragen

1. Wie kann ich den Excel Debugger öffnen?
Um den Excel Debugger zu öffnen, drücke ALT + F11, um den VBA-Editor zu starten.

2. Was mache ich, wenn das Makro nicht stoppt, wenn ich F8 drücke?
Überprüfe, ob andere Programme die F8-Taste belegen. Setze gegebenenfalls Haltepunkte anstelle von Stop-Befehlen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige