При записі макросів за допомогою рекордера завжди виходить лінійний ланцюжок інструкцій, що послідовно описує виконані в процесі запису дій. Для того щоб створити процедури, здатні на підставі перевірки деяких умов здійснити вибір однієї з декількох можливостей чи організувати так називані циклічні процеси (повторення дій), приходиться писати процедури самому. Мова VBA надає кілька могутніх і гнучких структур, що дозволяють легко повторювати різні дії. Цикли реалізуються за допомогою ключових слів For/Next, Do Loop і For Each/Next. Обмежимося розглядом оператора циклу For/Next, який найбільш часто використовується. Даний оператор має наступний синтаксис:
For лічильник = НачальноеЗначение To КонечноеЗначение[ Step Приращение ]
оператори
Next [ лічильник ]
У квадратні дужки укладені необов'язкові елементи синтаксичної конструкції. Усі цикли For використовують як лічильник перемінну, значення якої збільшується чи зменшується при кожнім виконанні циклу. На початку циклу лічильнику привласнюється НачальноеЗначение. У циклі лічильник змінюється на збільшення доти, поки не буде досягнуте задане КонечноеЗначение. У наступному прикладі "лічильник" s змінюється від значення 1 до значення 15 із кроком 2 при кожнім виконанні циклу і, відповідно, приймає значення 1, 3, 5, 7, 9, 11, 13, 25.
For s = 1 To 15 Step 2
оператори, яки використовують значення s, що змінюється
Next
Якщо збільшення "лічильника" дорівнює одиниці, задавати його явно необов'язково, тобто вказівку Step 1 можна опустити.
Створимо новий макрос для MS Excel, що записує в перші чотири осередки першого рядка листа текстові значення з номерами кварталів року.
1. Запустить MS Excel і перейдіть на новий робочий лист.
2. Натисніть Alt+F11 для активізації редактора VB.
3. Виконаєте команду Insert®Module для додавання нового модуля до проекту. Редактор додає новий модуль і відкриває в правій частині вікно коду.
4. У лівому нижнім вікні Properties ® Module 1 перейменуйте новий модуль, давши йому ім'я, наприклад, Demo_ForNext.