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

ahh.. wie kommt man aus einer endlosschleife raus

Forumthread: ahh.. wie kommt man aus einer endlosschleife raus

ahh.. wie kommt man aus einer endlosschleife raus
Markus
Moin,
mir ist was blödes passiert.. hab aus versehen ne endlosschleife gemacht mit ner msgbox.. das heißt es kommen immer zwei msgbox im wechsel..
jetzt die frage wie ich da wieder raus komme bzw. wie ich den vorgang abbrechen kann, ohne das die daten verloren gehen.
gibt es da nen tastenkürzel?
bitte um schnelle hilfe!
gruß
markus
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Ctrl + Pause/Untbr o.t.
Franz
DANKE! *knutsch* ^^ OT
31.03.2004 09:47:18
Markus
@ Franz W
ray
hi franz,
so kenn ich das, aber was muß/kann man drücken, damit es weiter geht?
Ray
Anzeige
3 Möglichkeiten
Franz
Hallo Ray,
wenn du ein Makro mit Strg-Pause unterbrichst geht der Debugger auf mit dem Text "Ausfürhung des Codes wurde unterbrochen", mit den Tasten
- "Fortfahren": damit kannst du den Code weiterlaufen lassen
- "Beenden": damit wird das Makro endgültig beendet, der Rest des Codes wird nicht mehr ausgeführt
- "Debuggen": damit kommst du in die VBA-Umgebung und es wird die ZEile des Codes gelb unterlegt, an der der Code unterbrochen wurde. Mit den Tasten in der Symbolleist kannst du dann entweder auch beenden oder aber den code weiterlaufen lassen (geht auch mit F5)
Hoffe das hilft dir weiter
Grüße
Franz
Anzeige
AW: 3 Möglichkeiten
ray
Danke Franz, hatte die naive Idee
strg(pause
code irgendwo bearbeiten
klick_irgendwo
code weiter wo pause war
geht wohl nicht...
Doch geht schon!!
Franz
Hallo Ray,
doch, das geht schon. Nach Strg-Pause auf "Debuggen" klicken, damit kommst du im Code an die Stelle, an der der Code unterbrochen wurde. Dann kannst du zum einen den Code nach der gelb-unterlegten Zeile bearbeiten und dann mit F5 weiterlaufen lassen. Zum zweiten kannst du aber auch den Code OBERHALB der gelben Zeile bearbeiten, dann mit der Maus den gelben PFeil am linken Rand weiter nach oben schieben und F5 drücken, der Code läuft mit der Zeile weiter, in die du den gelben Pfeil hingeschoben hast.
Grüße
Franz
Anzeige
Dank @ Franz - oT wieder was gelernt....
ray
f
Bitte, gerne :-)) o.T.
31.03.2004 15:58:28
Franz
Anzeige

Infobox / Tutorial

Aus einer Endlosschleife in Excel VBA entkommen


Schritt-für-Schritt-Anleitung

Wenn du in einer Endlosschleife gefangen bist, kannst du den Vorgang mit den folgenden Schritten abbrechen:

  1. Strg + Pause/Untbr drücken: Dies öffnet den Debugger in Excel VBA.
  2. Im Debugger siehst du mehrere Optionen:
    • Fortfahren: Setzt die Ausführung des Codes fort.
    • Beenden: Stoppt das Makro und lässt den restlichen Code nicht mehr ausführen.
    • Debuggen: Versetzt dich in die VBA-Umgebung und hebt die Zeile hervor, die gerade ausgeführt wird.
  3. Wenn du auf Debuggen klickst, kannst du den Code anpassen. Du kannst die gelb unterlegte Zeile ändern oder den Cursor nach oben bewegen und dann mit F5 die Ausführung fortsetzen.

Häufige Fehler und Lösungen

  • Fehler: Das Makro lässt sich nicht mit Strg + Pause unterbrechen.

    • Lösung: Stelle sicher, dass das VBA-Fenster aktiv ist, bevor du Strg + Pause drückst.
  • Fehler: Der Code wird nach dem Abbrechen nicht mehr ausgeführt.

    • Lösung: Überprüfe, ob du auf "Beenden" geklickt hast. In diesem Fall musst du das Makro erneut starten.

Alternative Methoden

Neben der oben beschriebenen Methode gibt es auch alternative Ansätze:

  • VBA-Fehlerbehandlung nutzen: Implementiere On Error-Anweisungen, um Fehler abzufangen und die Kontrolle über das Makro zurückzugewinnen.

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    Fehlerbehandlung:
      MsgBox "Ein Fehler ist aufgetreten!"
  • Access VBA Pause verwenden: Wenn du auch mit Access arbeitest, kannst du die DoEvents-Funktion verwenden, um die Ausführung zu unterbrechen und auf Benutzereingaben zu reagieren.


Praktische Beispiele

Hier sind einige einfache Beispiele, wie du mit Endlosschleifen in Excel VBA umgehen kannst:

  1. Ein einfaches Makro mit einer Endlosschleife:

    Sub Endlosschleife()
       Do While True
           MsgBox "Endlosschleife!"
       Loop
    End Sub

    Um aus dieser Schleife zu entkommen, drücke Strg + Pause.

  2. Makro mit Fehlerbehandlung:

    Sub MitFehlerbehandlung()
       On Error GoTo Fehler
       Do While True
           MsgBox "Noch eine Nachricht!"
       Loop
    Fehler:
       MsgBox "Das Makro wurde gestoppt."
    End Sub

Tipps für Profis

  • Verwende die Application.EnableEvents-Eigenschaft, um zu verhindern, dass bestimmte Ereignisse während der Ausführung eines Makros ausgelöst werden. Dies kann helfen, Endlosschleifen zu vermeiden.

  • Nutze den VBA-Debugger effizient, um die Zeilen im Code zu analysieren, die problematisch sein könnten.

  • Bevor du ein Makro ausführst, teste es in einer kontrollierten Umgebung, um ungewollte Endlosschleifen zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich ein Makro abbrechen, ohne die Pause-Taste zu verwenden?
Du kannst ein Makro auch beenden, indem du Excel schließt, aber das kann zu Datenverlust führen. Es ist besser, die Strg + Pause-Kombination zu verwenden.

2. Was passiert, wenn ich das Makro mit Strg + Pause abbreche?
Du hast die Möglichkeit, den Code zu debuggen oder ihn endgültig zu beenden. Du kannst dann entscheiden, ob du den Code anpassen oder neu starten möchtest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige