Цикл For Each…Next — один из самых читаемых, надёжных и «элегантных» инструментов в арсенале любого, кто автоматизирует работу в Excel с помощью VBA. В этой статье мы разберём расширенные и практичные примеры его использования: от перебора листов книги до обработки фигур на листе. Шаг за шагом — от простого к более гибким сценариям. Цикл особенно хорош в ситуациях, когда нужно выполнить действия с каждым элементом внутри коллекции: Главное — помнить:
коллекция — это группа объектов, объект — конкретный элемент коллекции. Допустим, вы хотите вывести имена всех листов на лист отчёта. Очень удобно при автоматизации структуры книги: Код VBA: Sub MyForEach1()
Dim ws As Worksheet
Dim x As Integer
x = 1
For Each ws In ThisWorkbook.Sheets
Cells(x, 1).Value = ws.Name
x = x + 1
Next ws
End Sub 🔎 Каждое имя листа будет выведено в столбец A: начиная с A1, затем A2 и т.д.
Полезно при инвентаризации книги или создании оглавлений автоматически. Часто формы (фигуры, кнопки) использую