Компьютерапия

    • Офис
      • MS Excel
      • MS Word
      • MS PowerPoint
      • MS Access
    • Веб
      • Joomla
      • WordPress
      • Сайтостроение
      • Уроки HTML
      • Bootstrap 3
      • Web Разработка
      • Web Сервисы и Службы
      • Основы AJAX
      • Изучаем AngularJS
      • Основы CSS
    • Программер
      • Android
      • VBA
      • Основы php
      • JavaScript
      • Основы Arduino
    • Полезные книги
      • Android
      • Assembler
      • Excel
      • linux
      • CSS
      • Delphi
      • Java
      • JavaScript
      • Joomla
      • Web
      • PHP
      • Unity
    • Полезные советы
      • Установки на Virtualbox
      • Продвижение YouTube канала
      • Как заказывать товары на AliExpress
    • Видео уроки
      • Уроки Word
      • Уроки Excel
      • Уроки сайтостроения
      • Уроки Joomla 3
      • Уроки Android
      • Уроки WordPress
      • Полезные советы
      • Уроки PowerPoint
      • Основы Arduino
      • Основы MacOS
      • Основы Vbox
      • Основы Python
    • Блог
    VBA
    17 марта 2018
    11 апреля 2026
    Просмотров: 26507

    Работа с циклами в VBA:loop, for each, for next

    Может возникнуть ситуация, когда вам нужно выполнить блок кода несколько раз. В общем случае операторы выполняются последовательно: сначала выполняется первый оператор в функции, затем второй и т. Д.

    Содержание:

    • for цикл
    • Синтаксис
    • Диаграмма потока
    • пример
    • for ... loop
    • Синтаксис
    • пример
    • while..wend loop
    • Синтаксис
    • Диаграмма потока
    • пример
    • Цикл do..while
    • Синтаксис
    • Диаграмма потока
    • пример
    • Альтернативный синтаксис
    • пример
    • do..intil loop
    • Синтаксис
    • Диаграмма потока
    • пример
    • Альтернативный синтаксис
    • Диаграмма потока
    • пример
    • Записи управления циклом
    • Контрольное заявление и описание
    • Выход для оператора
    • Синтаксис
    • Диаграмма потока
    • пример
    • Exit Do
    • Синтаксис
    • пример

    Языки программирования предоставляют различные структуры управления, которые обеспечивают более сложные пути выполнения.

    Оператор цикла позволяет нам выполнять оператор или группу операторов несколько раз. Ниже приведен общий вид оператора цикла в VBA.

    VBA предоставляет следующие типы циклов для обработки требований циклирования. Нажмите следующие ссылки, чтобы проверить их детали.

    for цикл

    Цикл for - это структура управления повторением, которая позволяет разработчику эффективно писать цикл, который необходимо выполнить определенное количество раз.

    Синтаксис

    Ниже приведен синтаксис цикла for в VBA.

    For counter = start To end [Step stepcount]
       [statement 1]
       [statement 2]
       ....
       [statement n]
       [Exit For]
       [statement 11]
       [statement 22]
       ....
       [statement n]
    Next
    

    Диаграмма потока

    Работа с циклами в VBA:loop, for each, for next

    Ниже приведен поток управления в режиме Loop -

    • Первый шаг выполняется. Этот шаг позволяет инициализировать любые переменные управления контурами и увеличивать переменную счетчика шагов.
    • Во-вторых, условие оценивается. Если это правда, выполняется тело цикла. Если оно ложно, тело цикла не выполняется, и поток управления переходит к следующему оператору сразу после цикла For.
    • После выполнения цикла цикла For поток управления переходит к следующему оператору. Этот оператор позволяет вам обновлять любые переменные управления циклом. Он обновляется на основе значения счетчика шагов.
    • Условие теперь оценивается снова. Если это правда, цикл выполняется, и процесс повторяется (тело цикла, затем увеличивают шаг, а затем снова условие). После того, как условие становится ложным, цикл For заканчивается.

    пример

    Добавьте кнопку и добавьте следующую функцию.

    Private Sub Constant_demo_Click()
       Dim a As Integer
       a = 10
       
       For i = 0 To a Step 2
          MsgBox "The value is i is : "  & i
       Next
    End Sub
    

    Когда приведенный выше код компилируется и выполняется, он производит следующий результат.

    The value is i is : 0
    The value is i is : 2
    The value is i is : 4
    The value is i is : 6
    The value is i is : 8
    The value is i is : 10

    Выполняет последовательность операторов несколько раз и сокращает код, управляющий переменной цикла.

    for ... loop

    Для каждого цикла используется для выполнения оператора или группы операторов для каждого элемента в массиве или коллекции.

    Для каждого цикла аналогичен For Loop; однако цикл выполняется для каждого элемента в массиве или группе. Следовательно, счетчик шагов не будет существовать в этом типе цикла. Он в основном используется с массивами или используется в контексте объектов файловой системы, чтобы работать рекурсивно.

    Синтаксис

    Ниже приведен синтаксис цикла For Each в VBA.

    For Each element In Group
       [statement 1]
       [statement 2]
       ....
       [statement n]
       [Exit For]
       [statement 11]
       [statement 22]
    Next
    

    пример

    Private Sub Constant_demo_Click()  
       'fruits is an array
       fruits = Array("apple", "orange", "cherries")
       Dim fruitnames As Variant
     
       'iterating using For each loop.
       For Each Item In fruits
          fruitnames = fruitnames & Item & Chr(10)
       Next
       
       MsgBox fruitnames
    End Sub
    

    Когда вышеуказанный код выполняется, он печатает все имена фруктов с одним элементом в каждой строке.

    apple
    orange
    cherries

    Это выполняется, если в группе есть хотя бы один элемент и повторяется для каждого элемента в группе.

    while..wend loop

    В цикле While While ... Wend , если условие равно True, все операторы выполняются до тех пор, пока не встретится ключевое слово Wend.

    Если условие ложно, цикл завершается, и элемент управления переходит к следующему оператору после ключевого слова Wend .

    Синтаксис

    Ниже приведен синтаксис цикла While..Wend в VBA.

    While condition(s)
       [statements 1]
       [statements 2]
       ...
       [statements n]
    Wend
    

    Диаграмма потока

    Работа с циклами в VBA:loop, for each, for next

    пример

    Private Sub Constant_demo_Click()
       Dim Counter :  Counter = 10   
       
       While Counter < 15     ' Test value of Counter.
          Counter = Counter + 1   ' Increment Counter.
          msgbox "The Current Value of the Counter is : " & Counter
       Wend   ' While loop exits if Counter Value becomes 15.
    End Sub
    

    Когда вышеуказанный код выполняется, он выводит следующее в поле сообщения.

    The Current Value of the Counter is : 11
    The Current Value of the Counter is : 12
    The Current Value of the Counter is : 13
    The Current Value of the Counter is : 14
    The Current Value of the Counter is : 15

    Это проверяет условие перед выполнением тела цикла.

    Цикл do..while

    Do ... while цикл используется, когда мы хотим повторить набор операторов, пока условие истинно. Условие может быть проверено в начале цикла или в конце цикла.

    Синтаксис

    Ниже приведен синтаксис цикла Do ... While в VBA.

    Do While condition
       [statement 1]
       [statement 2]
       ...
       [statement n]
       [Exit Do]
       [statement 1]
       [statement 2]
       ...
       [statement n]
    Loop           
    

    Диаграмма потока

    Работа с циклами в VBA:loop, for each, for next

    пример

    В следующем примере используется цикл Do ... while для проверки состояния в начале цикла. Операторы внутри цикла выполняются, только если условие становится True.

    Private Sub Constant_demo_Click()
       Do While i < 5
          i = i + 1
          msgbox "The value of i is : " & i
       Loop
    End Sub
    

    Когда выполняется вышеуказанный код, он печатает следующий вывод в окне сообщения.

    The value of i is : 1
    The value of i is : 2
    The value of i is : 3
    The value of i is : 4
    The value of i is : 5

    Альтернативный синтаксис

    Существует также альтернативный синтаксис для Do ... while loop, который проверяет состояние в конце цикла. Основное различие между этими двумя синтаксисами объясняется в следующем примере.

    Do 
       [statement 1]
       [statement 2]
       ...
       [statement n]
       [Exit Do]
       [statement 1]
       [statement 2]
       ...
       [statement n]
    Loop While condition
    

    пример

    В следующем примере используется цикл Do ... while для проверки состояния в конце цикла. Заявления внутри цикла выполняются хотя бы один раз, даже если условие False.

    Private Sub Constant_demo_Click() 
       i = 10
       Do
          i = i + 1
          MsgBox "The value of i is : " & i
       Loop While i < 3 'Condition is false.Hence loop is executed once.
    End Sub
    

    Когда выполняется вышеуказанный код, он печатает следующий вывод в окне сообщения.

    The value of i is : 11

    Операторы do..While будут выполняться до тех пор, пока условие равно True. (Т. Е.) Петля должна повторяться до тех пор, пока условие не будет False.

    do..intil loop

    Do ... intil цикл не будет использован, когда мы хотим повторить набор операторов, пока условие ложно. Условие может быть проверено в начале цикла или в конце цикла.

    Синтаксис

    Ниже приведен синтаксис цикла Do..Until в VBA.

    Do Until condition
       [statement 1]
       [statement 2]
       ...
       [statement n]
       [Exit Do]
       [statement 1]
       [statement 2]
       ...
       [statement n]
    Loop    
    

    Диаграмма потока

    Работа с циклами в VBA:loop, for each, for next

    пример

    В следующем примере используется Do ... До цикла, чтобы проверить условие в начале цикла. Операторы внутри цикла выполняются только в том случае, если условие ложно. Он выходит из цикла, когда условие становится истинным.

    Private Sub Constant_demo_Click() 
       i = 10
       Do Until i>15  'Condition is False.Hence loop will be executed
          i = i + 1
          msgbox ("The value of i is : " & i)
       Loop 
    End Sub
    

    Когда выполняется вышеуказанный код, он печатает следующий вывод в окне сообщения.

    The value of i is : 11
    The value of i is : 12
    The value of i is : 13
    The value of i is : 14
    The value of i is : 15
    The value of i is : 16

    Альтернативный синтаксис

    Существует также альтернативный синтаксис Do ... До цикла, который проверяет условие в конце цикла. Основное различие между этими двумя синтаксисами объясняется следующим примером.

    Do 
       [statement 1]
       [statement 2]
       ...
       [statement n]
       [Exit Do]
       [statement 1]
       [statement 2]
       ...
       [statement n]
    Loop Until condition
    

    Диаграмма потока

    Работа с циклами в VBA:loop, for each, for next

    пример

    В следующем примере используется Do ... До цикла, чтобы проверить условие в конце цикла. Операторы внутри цикла выполняются хотя бы один раз, даже если условие равно True.

    Private Sub Constant_demo_Click()  
       i = 10
       Do 
          i = i + 1
          msgbox "The value of i is : " & i
       Loop Until i more15 'Condition is True.Hence loop is executed once.
    End Sub
    

    Когда выполняется вышеуказанный код, он печатает следующий вывод в окне сообщения.

    The value of i is : 11

    Операторы do..Until будут выполняться до тех пор, пока условие False. (Т. Е.) Петля должна повторяться до тех пор, пока условие не будет истинным.

    Записи управления циклом

    Операторы управления циклом изменяют исполнение из своей обычной последовательности. Когда выполнение выходит из области действия, все остальные операторы цикла не выполняются.

    Контрольное заявление и описание

    Выход для оператора

    Выход for используется , когда мы хотим , чтобы выйти из For Loop на основе определенных критериев. Когда Exit For выполняется, управление переходит к следующему оператору сразу после цикла For Loop.

    Синтаксис

    Ниже приведен синтаксис Exit For Statement в VBA.

     
     Exit For
    

    Диаграмма потока

    Работа с циклами в VBA:loop, for each, for next

    пример

    В следующем примере используется Exit For . Если значение счетчика достигает 4, цикл For Loop завершается, и управление переходит к следующему утверждению сразу после цикла For Loop.

    Private Sub Constant_demo_Click()
       Dim a As Integer
       a = 10
       
       For i = 0 To a Step 2 'i is the counter variable and it is incremented by 2
          MsgBox ("The value is i is : " & i)
          If i = 4 Then
             i = i * 10 'This is executed only if i=4
             MsgBox ("The value is i is : " & i)
             Exit For 'Exited when i=4
          End If
       Next
    End Sub
    

    Когда вышеуказанный код выполняется, он печатает следующий вывод в окне сообщений.

    The value is i is : 0
    The value is i is : 2
    The value is i is : 4
    The value is i is : 40

    Завершает оператор цикла For и передает выполнение в оператор сразу после цикла

    Exit Do

    Exit Do Заявление используется , когда мы хотим , чтобы выйти из Do Loops на основе определенных критериев. Он может использоваться как в Do Do ... While, так и Do ... До циклов.

    Когда Exit Do выполняется, управление переходит к следующему оператору сразу после Do Loop.

    Синтаксис

    Ниже приведен синтаксис выражения Exit Do в VBA.

    пример

    В следующем примере используется Exit Do . Если значение счетчика достигает 10, выходная линия Do завершается, и управление переходит к следующему оператору сразу после цикла For Loop.

    Private Sub Constant_demo_Click()
       i = 0
       Do While i <= 100
          If i > 10 Then
             Exit Do   ' Loop Exits if i >10
          End If
          MsgBox ("The Value of i is : " & i)
          i = i + 2
       Loop
    End Sub
    

    Когда выполняется вышеуказанный код, он печатает следующий вывод в окне сообщения.

    The Value of i is : 0
    The Value of i is : 2
    The Value of i is : 4
    The Value of i is : 6
    The Value of i is : 8
    The Value of i is : 10

    Завершает оператор Do While и передает выполнение в оператор сразу после цикла

     С уважением, авторы сайта Компьютерапия

    Tags: vba
    Подпишитесь на канал в ВК Видео

    Свежие записи 2025

    ВПР на Python, без Excel 16 мая 2026
    Python 3 на Android. Запускаем Ping 28 марта 2026
    Блютуз подключение в Android (проект для Arduino). Часть 2 18 января 2025
    Анимация в PowerPoint - (видео) 09 января 2025
    Меняем имена в GoPro 10 18 июля 2023
    YouTube все - ютубКапут - (видео) 20 марта 2022
    Как сделать презентацию в PowerPoint, презентация с нуля в Рower Point 2016 20 февраля 2022
    Как изменять текст в word с помощью языка Python в среде PyCharm Меняем параграфы таблицы и шрифты - (видео) 09 февраля 2022
    Как преобразовать doc в docx на языке python в PyCharm Массовая конвертация старых файлов в docx - (видео) 09 февраля 2022
    Как установить blender 3.0? Покажу два способа, как установить блендер версии 3.0 на свой комп! - (видео) 05 февраля 2022

    ТОП-10 статей 2025

    • 15 лучших эффектов переходов между слайдами в Power Point
    • Функции даты-времени в VBA. Работа с датой и временем
    • Добавление номеров страниц в колонтитул в Word
    • Массивы в VBA: как работать с массивами
    • Сортировка и фильтрация записей в Access
    • Форматирование и настройка оглавления в Word
    • Методы PHP GET и POST, переменная $_REQUEST
    • Создание форм в Access
    • Установка Android Studio, настройка SDK
    • Работа со строками в VBA: InStr, LCASE, UCase, Left, Right, Mid, LTrim, RTrim, Trim, Len, Replace, Space, StrComp, String, StrReverse
    • Офис
      • MS Excel
      • MS Word
      • MS PowerPoint
      • MS Access
    • Веб
      • Joomla
      • WordPress
      • Сайтостроение
      • Уроки HTML
      • Bootstrap 3
      • Web Разработка
      • Web Сервисы и Службы
      • Основы AJAX
      • Изучаем AngularJS
      • Основы CSS
    • Программер
      • Android
      • VBA
      • Основы php
      • JavaScript
      • Основы Arduino
    • Полезные книги
      • Android
      • Assembler
      • Excel
      • linux
      • CSS
      • Delphi
      • Java
      • JavaScript
      • Joomla
      • Web
      • PHP
      • Unity
    • Полезные советы
      • Установки на Virtualbox
      • Продвижение YouTube канала
      • Как заказывать товары на AliExpress
    • Видео уроки
      • Уроки Word
      • Уроки Excel
      • Уроки сайтостроения
      • Уроки Joomla 3
      • Уроки Android
      • Уроки WordPress
      • Полезные советы
      • Уроки PowerPoint
      • Основы Arduino
      • Основы MacOS
      • Основы Vbox
      • Основы Python
    • Блог

    Категории

    • Уроки Word
    • Уроки Excel
    • Уроки PowerPoint
    • Уроки Access
    • Основы Сайтостройения
    • Уроки HTML
    • Уроки Joomla
    • Уроки WordPress
    • Уроки Bootstrap 3
    • Уроки Android
    • Уроки VBA
    • Основы Arduino

    Разное

    • О сайте
    • Полезные советы
    • Скачать книги
    • Карта сайта
    • Правила сайта

    Видео уроки

    • Уроки Word
    • Уроки Excel
    • Уроки сайтостроения
    • Уроки Joomla 3
    • Уроки Android
    • Уроки WordPress
    • Полезные советы
    • Уроки PowerPoint
    • Основы Arduino

    Подпишитесь в соцсетях

    • Канал на RuTube
    • Группа ВКонтакте
    • Группа в Одноклассниках
    • Канал на YouTube
    © 2019 Компьютерапия - Советы и секреты новичкам в области IT технологий: программирование, сайтостроение, уроки HTML, Word, Excel, Android, Open Server, Joomla, WordPress,PowerPoint, Aliexpress, YouTube, Arduino, видеоуроки.. Все права защищены.
    Перепечатка материалов без согласования допустима при наличии dofollow-ссылки на страницу-источник.