For Each...Next-AnweisungFor Each...Next statement

Wiederholt eine Gruppe mit Anweisungen für jedes Element in einem Array oder in einer Auflistung.Repeats a group of statements for each element in an array or collection.

SyntaxSyntax

For Each element In groupFor Each element In group
[ statements ][ statements ]
[ Exit For ][ Exit For ]
[ statements ][ statements ]
Next [ element ]Next [ element ]


Die Syntax der For...Each...Next-Anweisung umfasst die folgenden Teile:The For...Each...Next statement syntax has these parts:

TeilPart BeschreibungDescription
elementelement Erforderlich.Required. Variable, die zum Durchlaufen der Elemente der Auflistung oder des Arrays verwendet wird.Variable used to iterate through the elements of the collection or array. Für Auflistungen kann das Element nur eine Variable vom Typ Variant, eine allgemeine Objektvariable oder eine spezielle Objektvariable sein.For collections, element can only be a Variant variable, a generic object variable, or any specific object variable. Für Arrays kann das Element nur eine Variable vom Typ Variant sein.For arrays, element can only be a Variant variable.
groupgroup Erforderlich.Required. Name einer Objektauflistung oder eines Arrays (außer einem Array mit benutzerdefinierten Typen).Name of an object collection or array (except an array of user-defined types).
statementsstatements Optional.Optional. Eine oder mehrere Anweisungen, die für die einzelnen Elemente in group ausgeführt werden.One or more statements that are executed on each item in group.

HinweiseRemarks

Der For...Each-Block wird aufgerufen, wenn group mindestens ein Element enthält.The For…Each block is entered if there is at least one element in group. Nach dem Aufruf der Schleife werden alle Anweisungen für das erste Element in group ausgeführt.After the loop has been entered, all the statements in the loop are executed for the first element in group. Wenn es weitere Elemente in group gibt, werden die Anweisungen in der Schleife für jedes weitere Element ausgeführt.If there are more elements in group, the statements in the loop continue to execute for each element. Wenn es keine weiteren Elemente in group gibt, wird die Schleife beendet und die Ausführung mit der Anweisung nach der Next-Anweisung fortgesetzt.When there are no more elements in group, the loop is exited and execution continues with the statement following the Next statement.

Als Alternative zum Beenden kann an einer beliebigen Position in der Schleife eine beliebige Zahl von Exit For-Anweisungen platziert werden.Any number of Exit For statements may be placed anywhere in the loop as an alternative way to exit. 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.Exit For is often used after evaluating some condition, for example If…Then, and transfers control to the statement immediately following Next.

Sie können For...Each...Next-Schleifen schachteln, indem Sie eine For…Each…Next-Schleife in einer anderen platzieren.You can nest For...Each...Next loops by placing one For…Each…Next loop within another. Dabei muss jedoch jedes Element der Schleife eindeutig sein.However, each loop element must be unique.

Hinweis

Wenn Sie das Element in einer Next-Anweisung weglassen, wird die Ausführung fortgesetzt, als wäre das Element enthalten.If you omit element in a Next statement, execution continues as if element is included. Wenn eine Next-Anweisung vor der entsprechenden For-Anweisung erkannt wird, tritt ein Fehler auf.If a Next statement is encountered before its corresponding For statement, an error occurs.

Sie können die For...Each...Next-Anweisung nicht mit einem Array benutzerdefinierter Typen verwenden, da ein Variant-Datentyp keinen benutzerdefinierten Typ enthalten darf.You can't use the For...Each...Next statement with an array of user-defined types because a Variant can't contain a user-defined type.

BeispielExample

In diesem Beispiel wird die For Each...Next-Anweisung zum Durchsuchen der Text-Eigenschaft aller Elemente in einer Auflistung nach der Zeichenfolge "Hello" verwendet.This example uses the For Each...Next statement to search the Text property of all elements in a collection for the existence of the string "Hello". In dem Beispiel ist MyObject ein textbezogenes Objekt und ein Element der Auflistung MyCollection.In the example, MyObject is a text-related object and is an element of the collection MyCollection. Bei beiden handelt es sich um generische Namen, die nur der Veranschaulichung dienen.Both are generic names used for illustration purposes only.

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 auchSee also

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.