Для наступного циклу в Excel VBA - Посібник для початківців із прикладами

У VBA цикл використовується, коли вам потрібно виконати одне і те ж завдання кілька разів, поки умова не буде виконана (або поки умова не буде істинною).

У цьому посібнику ви дізнаєтесь, як використовувати цикл For Next для циклу Excel VBA.

Якщо ви зацікавлені у вивченні VBA простим способом, ознайомтеся з моїм Онлайн навчання Excel VBA.

Використання FOR NEXT Loop в Excel VBA

Цикл "Для наступного" працює, запускаючи цикл зазначену кількість разів.

Наприклад, якщо я прошу вас додати цілі числа від 1 до 10 вручну, ви б додали перші два числа, потім до результату додали третє число, а потім до результату додали четверте число тощо.

Чи не так?

Така ж логіка використовується в циклі For Next у VBA.

Ви вказуєте, скільки разів ви хочете, щоб цикл запускався, а також вказуєте, що ви хочете, щоб код робив щоразу під час запуску циклу.

Ось формат циклу For Next, який потрібно використовувати у VBA для додавання перших 10 цілих чисел.

Для i = 1 до 10 [додайте до результату i -те натуральне число] Далі i

Тепер давайте розглянемо кілька прикладів того, як використовувати цикл For Next.

Приклад 1: Додавання перших 10 позитивних цілих чисел

Нижче наведено код, який додасть перші 10 натуральних чисел за допомогою циклу For Next. Після цього відобразиться вікно повідомлення із сумою цих чисел.

Sub AddNumbers () Dim Total Total As Integer Dim Count As Integer Total = 0 For Count = 1 до 10 Total = Total + Count Next Count MsgBox Total End Sub

У цьому коді значення Total встановлюється на 0, перш ніж потрапити в цикл For Next.

Як тільки він потрапляє в цикл, він зберігає загальне значення після кожного циклу. Отже, після першого циклу, коли лічильник дорівнює 1, значення «Загальна» стає 1, а після другого циклу воно стає 3 (1+2) тощо.

І, нарешті, коли цикл закінчується і коли Total має суму перших 10 натуральних чисел, MsgBox просто відображає результат у вікні повідомлення.

Натисніть тут, щоб завантажити файл прикладу

Приклад 2: Додавання перших 5 парних цілих чисел

Щоб підсумувати перші п’ять парних цілих чисел (тобто 2,4,6,8 і 10), вам потрібен подібний код із умовою враховувати лише парні числа та ігнорувати непарні числа.

Ось код, який це зробить:

Sub AddEvenNumbers () Загальне затемнення як ціле число Підрахунок затемнення як ціле число Всього = 0 для підрахунку = 2 до 10 Крок 2 Всього = Всього + підрахунок Наступний рахунок MsgBox Загальний кінцевий підряд

Зауважте, що ми почали значення Count з 2, а також використали крок 2 у синтаксисі For.

Крок 2 повідомляє код збільшувати значення "Count" на 2 при кожному запуску циклу. Отже, значення Count починається з 2, а потім стає 4, 6, 8 і 10 у міру зациклення.

ПРИМІТКА. Інший спосіб зробити це - запустити цикл від 1 до 10 і перевірити, чи є число парним чи непарним. Однак використання Step у цьому випадку є більш ефективним способом, оскільки не вимагає циклу працювати 10 разів, а лише 5 разів.

Натисніть тут, щоб завантажити файл прикладу.

Приклад 3: Отримайте числову частину з буквено -цифрового рядка

Цикл "Для наступного" також може бути використаний для перебору кожного символу рядка.

Наприклад, якщо у вас є список буквено -цифрових рядків, ви можете використовувати цикл For Next для вилучення з нього чисел (як показано нижче):

Ось код, який створює власну функцію у VBA, яку можна використовувати, як і будь -яку іншу функцію аркуша.

Він витягує числову частину з буквено -цифрового рядка.

Функція GETNUMERIC (Cl As Range) Dim i As Integer Dim Result as Long For i = 1 To Len (Cl) If IsNumeric (Mid (Cl, i, 1)) then Result = Result & Mid (Cl, i, 1) End Якщо далі i GetNumeric = Функція завершення результату

У цьому коді кількість запусків циклу залежить від довжини буквено -цифрового рядка (він використовує функцію LEN для визначення довжини рядка).

Вам потрібно помістити цю функцію у вікно коду модуля, а потім ви зможете використовувати її, як і будь -яку іншу функцію аркуша.

Натисніть тут, щоб завантажити файл прикладу.

Приклад 4: Отримання випадкових чисел у вибраному діапазоні

Припустимо, ви хочете швидко ввести випадкові числа у вибрані комірки, ось код, який це зробить.

Sub RandomNumbers () Dim MyRange As Range Dim i As Integer, j As Integer Set MyRange = Вибір For i = 1 To MyRange.Columns.Count For j = 1 To MyRange.Rows.Count MyRange.Cells (j, i) = Rnd Далі j Далі i Кінець Sub

Це приклад вкладеного циклу For Next, де цикл For використовується у циклі For For.

Припустимо, ви вибрали 10 рядків і 4 стовпці, значення i змінюється від 1 до 4, а значення j - від 1 до 10.

Коли запускається перший цикл For, значення i дорівнює 1. Потім воно переходить до другого циклу For, який виконується 10 разів (для кожного рядка).

Після того, як другий цикл For був виконаний 10 разів, він повертається до першого циклу For, де тепер значення i стає 2. Знову наступний цикл For виконується 10 разів.

Ось так працює вкладений цикл For Next.

Натисніть тут, щоб завантажити файл прикладу.

Вам також можуть сподобатися такі підручники Excel VBA:

  • Робота з клітинками та діапазонами в Excel VBA.
  • Робота з робочими листами в Excel VBA.
  • Робота з робочими книгами за допомогою VBA.
  • Використання IF Тоді Інші заяви у VBA.
  • Вибір випадку Excel VBA.
  • Створення користувальницької функції в Excel.
  • Події Excel VBA - простий (і повний) посібник
  • Як записати макрос в Excel.
  • Як запустити макрос в Excel.
  • Як створити надбудову в Excel.
  • Як зберегти та повторно використовувати макрос за допомогою особистої книги макросів Excel.
  • Корисні приклади макросів Excel для початківців.
  • Використання функції InStr у VBA.
wave wave wave wave wave