Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Gibt es unter VBA die Angabe "unendlich"?

Forumthread: Gibt es unter VBA die Angabe "unendlich"?

Gibt es unter VBA die Angabe "unendlich"?
08.12.2002 11:08:07
Martin Springer
Hallo,

ich habe eine Schleife, die nie aufhören soll zu arbeiten, außer wenn ein speziellen Ereignis eintreten sollte! Das einzige Probem: Wie drücke ich unendlich aus?

also:

For i = 1 to [und hier soll unendlich stehen!]

Wäre für Vorschläge sehr dankbar!

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Gibt es unter VBA die Angabe "unendlich"?
08.12.2002 11:26:23
M. Kuhn
Moin Martin,

in einer For/Next-Schleife kann man das erreichen, in dem man schreibt:

For i = 1 to 2
If Ereignis = Falsch Then i = 0
Next i

Besser und eleganter ist die Verwendung dafür geschaffener Schleifenkonstrukte, wie:

While/Wend und etwa Do/Loop. Schau dazu in der Hilfe nach.

Schönen 2. Advent wünscht Mario

Anzeige
Re: Gibt es unter VBA die Angabe "unendlich"?
08.12.2002 11:30:40
Rolf, Lgh.
Hallo Martin,
der Wert für To wird schon durch den Datentyp begrenzt, setze den höchstmöglichen Wert als To ein. z. B.

Gruß Rolf
PS.: Einen Sinn für so eine Endlosschleife sehe ich aber nicht.
Danke sehr, genau das habe ich gesucht!
08.12.2002 11:44:14
Martin Springer
Super, jetzt klappt alles!
Re: Gibt es unter VBA die Angabe "unendlich"?
08.12.2002 17:54:50
PeterW
Hallo Rolf,

den Sinn sehe ich zwar auch nicht aber wird die Schleife nicht durch eine Zuweisung innerhalb der Schleife unendlich, so in der Art:

If i = 32767 then i = 1

Gruß
Peter

Anzeige
Re: Gibt es unter VBA die Angabe "unendlich"?
09.12.2002 20:05:14
Rolf, Lgh.
Hallo Peter,
Du hast Recht, aber die Zuweisung sollte
If i = 32767 then i = 0
lauten, da sonst beim folgenden Schleifendurchlauf i bereits 2 ist (i = 1 fällt unterm Tisch).
Gruß Rolf
;
Anzeige

Infobox / Tutorial

Unendliche Schleifen in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine unendliche Schleife in Excel VBA zu implementieren, kannst du verschiedene Ansätze wählen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke im Projekt-Explorer mit der rechten Maustaste auf "VBAProject (deine Datei)" und wähle Einfügen > Modul.
  3. Schreibe deine Schleife:

    • Verwende eine der folgenden Schleifen, um eine unendliche Schleife zu erstellen:
Sub UnendlicheSchleife()
    Dim i As Long
    i = 1

    Do While True
        ' Deine Logik hier
        If Ereignis = False Then
            i = 1 ' Oder eine andere Logik
        End If
    Loop
End Sub
  • Eine weitere Möglichkeit ist die Verwendung einer For-Schleife mit einer unendlichen Bedingung:
Sub UnendlicheForSchleife()
    For i = 1 To 2
        If Ereignis = False Then
            i = 0 ' Setze i zurück, um die Schleife unendlich zu machen
        End If
    Next i
End Sub

Häufige Fehler und Lösungen

  • Problem: Die Schleife läuft nicht unendlich.

    • Lösung: Stelle sicher, dass du die Bedingung für die Schleife richtig gesetzt hast. Überprüfe, ob das Ereignis richtig definiert ist.
  • Problem: Excel reagiert nicht mehr.

    • Lösung: Unendliche Schleifen können Excel zum Absturz bringen. Verwende DoEvents, um Excel zu ermöglichen, zwischen den Schleifen zu reagieren:
Do While True
    ' Deine Logik
    DoEvents
Loop

Alternative Methoden

Es gibt verschiedene Möglichkeiten, unendliche Schleifen in Excel VBA zu implementieren:

  1. While/Wend-Schleife:

    Sub WhileSchleife()
    Dim i As Long
    i = 1
    
    While True
        ' Deine Logik hier
        If Ereignis = False Then
            i = 1
        End If
    Wend
    End Sub
  2. For-Next-Schleife:

    • Wie bereits erwähnt, kannst du die For-Schleife so anpassen, dass sie unendlich läuft.
  3. Verwendung von Application.OnTime:

    • Eine Methode, die nicht blockiert und Excel die Möglichkeit gibt, weiterhin zu reagieren.

Praktische Beispiele

Hier sind einige praktische Beispiele für unendliche Schleifen in Excel VBA:

  • Einfache Zähler-Schleife:

    Sub Zähler()
    Dim i As Long
    i = 1
    
    Do While True
        Debug.Print i
        i = i + 1
        If i > 100 Then i = 1 ' Zurücksetzen nach 100
    Loop
    End Sub
  • Überwachung eines Ereignisses:

    Sub EreignisÜberwachung()
    Do While True
        If Range("A1").Value = "Stop" Then Exit Do
        ' Weitere Logik
        DoEvents
    Loop
    End Sub

Tipps für Profis

  • Vermeide blockierende Schleifen: Nutze DoEvents, um sicherzustellen, dass Excel auch bei unendlichen Schleifen reagiert.
  • Debugging: Verwende Debug.Print, um den Fortschritt deiner Schleife zu verfolgen, ohne die GUI zu blockieren.
  • Exit-Bedingungen: Implementiere klare Bedingungen, um die Schleife sicher zu beenden, um unendliche Schleifen zu vermeiden, die Excel zum Absturz bringen.

FAQ: Häufige Fragen

1. Ist Excel unendlich? Excel hat Grenzen, insbesondere bei der Anzahl der Zeilen und Spalten. Eine unendliche Schleife kann jedoch in VBA programmiert werden.

2. Was ist eine unendliche Schleife in Excel? Eine unendliche Schleife ist eine Schleife, die ohne festgelegte Bedingung fortlaufend ausgeführt wird, bis eine externe Bedingung eintritt oder das Programm manuell gestoppt wird.

3. Wie kann ich eine unendliche Schleife sicher beenden? Implementiere eine Bedingung in deiner Schleife, die es ermöglicht, die Schleife unter bestimmten Umständen zu verlassen, z.B. durch Benutzerinteraktion oder eine bestimmte Zelländerung.

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