Freigeben über


For Each...Next-Anweisung

Wiederholt eine Gruppe mit Anweisungen für jedes Element in einem Array oder in einer Auflistung.

Syntax

ForEach-ElementinGruppe
[ statements ]
[ Exit For ]
[ statements ]
Next [ element ]

Die Syntax der For...Each...Next-Anweisung umfasst die folgenden Teile:

Teil Beschreibung
element Erforderlich. Variable, die zum Durchlaufen der Elemente der Auflistung oder des Arrays verwendet wird. Für Auflistungen kann das Element nur eine Variable vom Typ Variant, eine allgemeine Objektvariable oder eine spezielle Objektvariable sein. Für Arrays kann das Element nur eine Variable vom Typ Variant sein.
group Erforderlich. Name einer Objektauflistung oder eines Arrays (außer einem Array mit benutzerdefinierten Typen).
statements Optional. Eine oder mehrere Anweisungen, die für die einzelnen Elemente in group ausgeführt werden.

Hinweise

Der For...Each-Block wird aufgerufen, wenn group mindestens ein Element enthält. Nach dem Aufruf der Schleife werden alle Anweisungen für das erste Element in group ausgeführt. Wenn es weitere Elemente in group gibt, werden die Anweisungen in der Schleife für jedes weitere Element ausgeführt. Wenn es keine weiteren Elemente in group gibt, wird die Schleife beendet und die Ausführung mit der Anweisung nach der Next-Anweisung fortgesetzt.

Als Alternative zum Beenden kann an einer beliebigen Position in der Schleife eine beliebige Zahl von Exit For-Anweisungen platziert werden. Exit For wird häufig nach der Auswertung einer Bedingung, z. B. If...Then verwendet, und die Steuerung wird dann an die Anweisung direkt nach Next übertragen.

Sie können For...Each...Next-Schleifen schachteln, indem Sie eine For…Each…Next-Schleife in einer anderen platzieren. Dabei muss jedoch jedes Element der Schleife eindeutig sein.

Hinweis

Wenn Sie das Element in einer Next-Anweisung auslassen, wird die Ausführung fortgesetzt, als wäre das Element enthalten. Wenn eine Next-Anweisung vor der entsprechenden For-Anweisung erkannt wird, tritt ein Fehler auf.

Sie können die For...Each...Next-Anweisung nicht mit einem Array benutzerdefinierter Typen verwenden, da ein Variant-Datentyp keinen benutzerdefinierten Typ enthalten darf.

Beispiel

In diesem Beispiel wird die For Each...Next-Anweisung zum Durchsuchen der Text-Eigenschaft aller Elemente in einer Auflistung nach der Zeichenfolge "Hello" verwendet. In dem Beispiel ist MyObject ein textbezogenes Objekt und ein Element der Auflistung MyCollection. Bei beiden handelt es sich um generische Namen, die nur der Veranschaulichung dienen.

Dim Found, MyObject, MyCollection 
Found = False    ' Initialize variable. 
For Each MyObject In MyCollection    ' Iterate through each element.  
    If MyObject.Text = "Hello" Then    ' If Text equals "Hello". 
        Found = True    ' Set Found to True. 
        Exit For    ' Exit loop. 
    End If 
Next

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.