Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Повторяет группу операторов для каждого элемента в массиве или коллекции.
Синтаксис
Для каждогоэлементавгруппе
[ операторы ]
[ Выход для ]
[ операторы ]
Next [ element ]
Синтаксис оператора For...Each...Next состоит из следующих частей:
| Part | Описание |
|---|---|
| элемент | Обязательно. Переменная, которая используется для перебора элементов коллекции или массива. Для коллекций элемент может быть только переменной Variant , универсальной объектной переменной или любой конкретной объектной переменной. Для массивов аргумент element может быть только переменной Variant. |
| group | Обязательно. Имя массива или коллекции объектов, за исключением массивов пользовательских типов. |
| Операторы | Необязательный параметр. Один или несколько операторов, которые выполняются для каждого элемента в группе. |
Замечания
Блок For…Each используется при наличии в группе как минимум одного элемента. После ввода цикла все инструкции в цикле выполняются для первого элемента в группе. Если в группе присутствуют другие элементы, операторы цикла последовательно выполняются для каждого из них. После обработки всех элементов в группе цикл завершается, и продолжается выполнение операторов, следующих за оператором Next.
Любое количество операторов Exit For может быть размещено в любом месте цикла в качестве альтернативного способа выхода. Выход для часто используется после оценки некоторых условий, например Если... Затем и передает управление оператору сразу после Next.
Циклы For...Each...Next можно вкладывать в другие циклы For…Each…Next. Тем не менее, каждый цикл должен иметь уникальный аргумент element.
Примечание.
Если опустить аргумент element в операторе Next, выполнение продолжается так, как если бы аргумент element был включен. При обнаружении оператора Next до завершения соответствующего оператора For возникает ошибка.
Оператор For...Each...Next нельзя использовать с массивом пользовательского типа, поскольку тип Variant не может содержать пользовательские типы.
Пример
В этом примере оператор For Each...Next используется для поиска строки "Hello" в свойствах Text всех элементов коллекции. В этом примере MyObject представляет собой текстовый объект и является элементом коллекции MyCollection. Оба имени являются общими и используются исключительно в качестве примера.
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
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.