Habe dummerweise eine gestartet und weiß jetzt nicht wie ich die abbrechen soll.
Das ganze System lahmt .... ! :(
Gruß,
Suppi
Private Declare Function GetAsyncKeyState Lib "user32" _
(ByVal vKey As Long) As Integer
Sub Schleife()
Do
DoEvents
If (GetAsyncKeyState(&H1B)) <> 0 Then Exit Do
Loop Until 1 = 2
End Sub
Gruß Sepp
Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.
(Sir Winston Churchill)
Gruß Sepp
Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.
(Sir Winston Churchill)
Um eine laufende Endlosschleife in Excel VBA abzubrechen, kannst du die folgenden Schritte befolgen:
STRG + Pause
oder ESC
auf deiner Tastatur. Diese Kombis sind oft die einfachsten Möglichkeiten, eine Excel VBA Schleife zu beenden.VBA-Code anpassen: Wenn du regelmäßig mit Endlosschleifen arbeitest, ist es sinnvoll, einen Code zu implementieren, der dir erlaubt, die Schleife mit einer bestimmten Taste abzubrechen. Hier ist ein einfaches Beispiel:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Sub Schleife()
Do
DoEvents
If (GetAsyncKeyState(&H1B)) <> 0 Then Exit Do
Loop Until 1 = 2
End Sub
Mit diesem Code kannst du die Schleife durch Drücken der ESC
-Taste verlassen.
Problem: Die Tastenkombination funktioniert nicht.
Problem: Excel reagiert nicht mehr und lässt sich nicht schließen.
Falls die oben genannten Methoden nicht funktionieren, gibt es alternative Ansätze:
VBA Skripts abbrechen: Du kannst auch ein Makro erstellen, das eine Schleife in Abhängigkeit von einer Bedingung unterbricht. Das ist besonders nützlich, wenn du mehrere Schleifen hast.
Task-Manager verwenden: Drücke STRG + ALT + ENTF
, wähle den Task-Manager und beende den Excel-Prozess, wenn alles andere fehlschlägt.
Hier sind einige praktische Beispiele, wie du eine Endlosschleife in VBA abbrechen kannst:
Einfacher Timer:
Sub TimerBeenden()
Dim StartZeit As Double
StartZeit = Timer
Do While Timer < StartZeit + 10 ' 10 Sekunden laufen lassen
DoEvents
Loop
End Sub
Du kannst die Schleife durch die ESC
-Taste abbrechen, während sie läuft.
Benutzerabbruch:
Sub BenutzerAbbruch()
Dim i As Integer
For i = 1 To 1000000
If GetAsyncKeyState(&H1B) <> 0 Then Exit For ' Abbruch bei ESC
' Hier kommt dein Code
Next i
End Sub
DoEvents
: Dies ermöglicht Excel, auf Tasteneingaben zu reagieren, während eine Schleife läuft.1. Wie kann ich eine laufende Berechnung in Excel abbrechen?
Du kannst ESC
drücken, um eine laufende Berechnung zu stoppen.
2. Gibt es eine Möglichkeit, eine Endlosschleife ohne Tastaturabbruch zu beenden? Ja, du kannst Bedingungen in deinen Code einfügen, die die Schleife automatisch beenden.
3. Was kann ich tun, wenn mein Excel nach einer Endlosschleife nicht mehr reagiert? Versuche den Task-Manager zu öffnen und Excel zu beenden. Wenn das nicht klappt, kann ein Neustart des Computers erforderlich sein.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen