Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Do While...Loop - Schleife beenden

Forumthread: Do While...Loop - Schleife beenden

Do While...Loop - Schleife beenden
29.10.2002 08:07:05
Steffen D
Guten Morgen Leute,

ich hätte da eine Frage,
und zwar möchte ich mitten in einer Do While Schleife bei einer Bedingung rausspringen (d.h. vorzeitig die Schleife verlassen und die nächsten Befehle ganz normal weiter ausführen)(bitte kein Goto)

thx
Steffen

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Do While...Loop - Schleife beenden
29.10.2002 08:09:31
Hajo_Zi
Hallo Steffen

Exit Do

Gruß Hajo

Re: Do While...Loop - Schleife beenden
29.10.2002 08:09:43
PeterA
Hallo Steffen


Exit Do


Ciao Peter

gibt es auch den Befehl "Next Do" ?
29.10.2002 08:13:19
Steffen D
Hi, Danke schon mal, hab mir schon gedacht, dass es so heißt

aber gibt es auch noch ein Befehl wo man bei einer Bedingung den zaehler um eins erhöht und dann die Schleife wieder von vorne laufen lässt, mit dem aktuellen/veränderten Zähler

thx

Anzeige
Re: gibt es auch den Befehl "Next Do" ?
29.10.2002 08:14:55
Hajo_Zi
Hallo Steffen

da würde ich dann doch eine For Next Schleife nehmen.


Gruß Hajo

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Do While...Loop in VBA richtig nutzen


Schritt-für-Schritt-Anleitung

Um eine Do While-Schleife in VBA zu beenden, kannst du den Befehl Exit Do verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor in Excel (ALT + F11).

  2. Erstelle ein neues Modul (Rechtsklick auf "VBAProject" > Einfügen > Modul).

  3. Füge folgenden Code ein:

    Sub BeispielDoWhile()
       Dim i As Integer
       i = 1
       Do While i <= 10
           If i = 5 Then Exit Do ' Schleife bei i = 5 beenden
           Debug.Print i
           i = i + 1
       Loop
    End Sub
  4. Führe das Makro aus (F5), um die Funktionsweise zu sehen.

Mit dem obigen Code wird die Schleife bei i = 5 abgebrochen, und du kannst die weiteren Befehle nach der Schleife ganz normal ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Endless loop": Wenn deine Bedingung niemals falsch wird, bleibt die Schleife unendlich. Stelle sicher, dass deine Abbruchbedingung korrekt ist.

  • Lösung: Füge eine Abbruchbedingung ein, wie im Beispiel gezeigt. Verwende Exit Do, um gezielt die Schleife zu verlassen.

  • Fehler: "Variable nicht definiert": Wenn du eine Variable verwendest, die nicht deklariert ist, kann das zu einem Fehler führen.

  • Lösung: Stelle sicher, dass alle Variablen mit Dim deklariert sind, bevor du sie verwendest.


Alternative Methoden

Wenn du eine Schleife mit einem Zähler verwenden möchtest, kannst du die For Next-Schleife nutzen. So kannst du die Schleife bei einer Bedingung auch einfach unterbrechen. Hier ein Beispiel:

Sub BeispielForNext()
    Dim i As Integer
    For i = 1 To 10
        If i = 5 Then Exit For ' Schleife bei i = 5 beenden
        Debug.Print i
    Next i
End Sub

Die Verwendung einer For Next-Schleife kann dir mehr Kontrolle über den Zähler geben und ist oft einfacher zu lesen.


Praktische Beispiele

  1. Beispiel für eine Do While-Schleife:

    Sub DoWhileBeispiel()
        Dim counter As Integer
        counter = 1
        Do While counter <= 10
            Debug.Print "Zähler: " & counter
            counter = counter + 1
        Loop
    End Sub
  2. Beispiel für eine Do Until-Schleife:

    Sub DoUntilBeispiel()
        Dim counter As Integer
        counter = 1
        Do Until counter > 10
            Debug.Print "Zähler: " & counter
            counter = counter + 1
        Loop
    End Sub

Mit diesen Beispielen kannst du die Grundlagen der Schleifen in VBA verstehen und selbst anwenden.


Tipps für Profis

  • Verwende Exit Do strategisch, um die Lesbarkeit deines Codes zu erhöhen. Anstatt verschachtelte If-Anweisungen zu nutzen, kannst du die Schleife schnell verlassen.

  • Nutze die Debug.Print-Anweisung, um während der Entwicklung den Status deiner Variablen zu überwachen. Das hilft dir, Fehler schneller zu finden.

  • Achte darauf, dass du Schleifen vermeidest, die zu lange laufen, insbesondere bei großen Datenmengen. Das kann Excel zum Absturz bringen.


FAQ: Häufige Fragen

1. Wie kann ich eine Schleife mit einer Taste abbrechen?
Du kannst eine Abbruchbedingung in die Schleife einfügen, die überprüft, ob eine bestimmte Taste gedrückt wurde. Dies erfordert jedoch den Einsatz von Windows API oder speziellen Bibliotheken.

2. Was ist der Unterschied zwischen Do While und Do Until?
Do While führt die Schleife aus, solange die Bedingung wahr ist, während Do Until die Schleife ausführt, bis die Bedingung wahr wird. Wähle je nach Bedarf die passende Schleifenart.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige