Циклічний перебір рядків у діапазоні в VBA в Excel (6 прикладів)

  • Поділитися Цим
Hugh West

У цьому уроці ми розглянемо, як використовувати VBA щоб перебрати рядки в діапазоні в excel. ми використовуємо цикли, щоб не робити одне і те ж знову і знову. під час роботи в excel ми використовуємо цикли для того, щоб Microsoft Excel ми можемо опинитися в ситуації, коли нам доведеться виконувати одну і ту ж задачу багато разів. Це легко зробити, використовуючи цикли в VBA У цій статті ми продемонструємо 6 Приклади циклічного перебору рядків в excel за допомогою VBA Цикл, який ми будемо використовувати у всіх прикладах - це цикл ' Цикл For-Next '.

Завантажити Практичний посібник

Робочий зошит з практики можна завантажити тут.

VBA Цикл перебору рядків у діапазоні.xlsm

6 прикладів циклічного перебору рядків у діапазоні за допомогою VBA в Excel

Для ілюстрації прикладів цього підручника ми використаємо наступний набір даних. Набір даних містить обсяги продажів за перші два місяці 5 Продавців .

1. використання VBA в діапазоні зі змінною діапазону для циклічного перебору рядків

У першому прикладі будемо використовувати змінну range для перебору рядків в діапазоні з допомогою VBA в Excel. Ми застосуємо VBA цикл у наступному наборі даних.

Розглянемо кроки для виконання цього прикладу.

КРОКИ:

  • Для початку перейдіть на активний робочий аркуш ' Змінна діапазону '.
  • Крім того, клацніть правою кнопкою миші і виберіть опцію ' Переглянути код Ви також можете натиснути Alt + F11 щоб відкрити його.

  • Вищевказана дія відкриває вікно коду для цього аркуша.
  • Крім того, введіть код у вікні для введення коду:
 Sub VBA_Loop_through_Rows() Dim w As Range For Each w In Range("B5:D9").Rows w.Cells(1).Interior.ColorIndex = 35 Next End Sub 
  • Потім натисніть на кнопку Біжи або натисніть F5 для запуску коду.

  • Врешті-решт, ми отримаємо результати, як на наступному скріншоті.

Читати далі: Excel VBA: циклічний перебір стовпців у діапазоні (5 прикладів)

2. Застосування VBA для циклічного перебору рядків у діапазоні з числовою змінною

Іншим варіантом циклічного перебору рядків у діапазоні є виділення змінної. У другому прикладі застосуємо VBA у наступному наборі даних для циклічного перебору рядків у діапазоні з числовими змінними.

Давайте розглянемо кроки для реалізації цього методу.

КРОКИ:

  • По-перше, клацніть правою кнопкою миші на активному аркуші з ім'ям ' Числове значення '.
  • Далі обираємо опцію ' Переглянути код '.

  • Ця дія відкриє вікно коду для цього аркуша. Ви також можете натиснути кнопку Alt + F11 щоб відкрити це вікно коду.
  • введіть у цьому вікні наступний код:
 Sub VBA_Numeric_Nariable() Dim w As Integer With Range("B5").CurrentRegion For w = 1 To .Columns.Count .Columns(w).NumberFormat = "$0.00" Next End With End Sub 
  • Після цього натисніть на кнопку Біжи або натисніть кнопку F5 ключ для запуску коду.

  • Нарешті, ми можемо побачити результати, як на наступному малюнку. Наведений вище код змінює формат числа в десяткові знаки.

Читати далі: Циклічний перебір рядків і стовпців у діапазоні в VBA в Excel (5 прикладів)

3. Excel VBA у вибраному користувачем діапазоні для циклічного перебору рядків у діапазоні

У третьому прикладі ми використаємо VBA у вибраному користувачем діапазоні для перебору рядків у діапазоні. Таким чином, користувач зможе застосувати цикл у вибраній області набору даних.

Розглянемо кроки, пов'язані з цим прикладом.

КРОКИ:

  • На початку виділяємо діапазон комірок ( D5:D9 ).

  • Наступний, клацніть правою кнопкою миші на активному аркуші з ім'ям ' Вибрано користувачем '. Виберіть опцію ' Переглянути код '.

  • Вищевказана команда відкриє вікно VBA вікно коду для активного аркуша. Це вікно коду можна також відкрити, натиснувши клавішу Alt + F11 Вставте наступний код у це порожнє вікно коду:
 Sub VBA_User_Selection() Dim w As Variant Set xRange = Selection For Each w In xRange MsgBox "Значення комірки = " & w.Value Next w End Sub 
  • Потім, щоб запустити код для цього аркуша, натисніть на кнопку Біжи або натисніть кнопку F5 ключ.

  • Так, з'являється вікно повідомлення з першим значенням обраного діапазону.

  • Більше того, якщо ви натиснете на кнопку ГАРАЗД. поверне друге значення виділеного діапазону, яке є коміркою D6 .

  • Цей процес буде продовжуватися до останнього значення виділеного діапазону, яким є комірка D9 .

Читати далі: Як за допомогою VBA підрахувати рядки в діапазоні з даними в Excel (5 макросів)

Схожі читання

  • Як за допомогою VBA виділити діапазон з активної комірки в Excel (3 способи)
  • Макрос Excel: сортування декількох стовпців за допомогою динамічного діапазону (4 способи)
  • Як перетворити діапазон в масив в Excel VBA (3 способи)

4. Циклічне проходження рядків у динамічному діапазоні за допомогою VBA

У четвертому прикладі застосуємо VBA для перебору рядків в динамічному діапазоні. Цей приклад дещо відрізняється від попередніх. Ми зможемо налаштувати діапазон в циклі для робочого аркуша excel. Для ілюстрації цього методу використаємо наступний набір даних. У наступному наборі даних ми заповнимо значеннями діапазону ( B8:C12 ) з конкретним значенням.

Просто виконайте наведені нижче кроки, щоб виконати цей метод.

КРОКИ:

  • По-перше, вхідна вартість 6 в камері B1 і C в камері B2 .
  • По-друге, клацніть правою кнопкою миші на активній комірці і виберіть опцію ' Переглянути код '.

  • Ця команда відкриє вікно VBA вікно коду для активного аркуша. Інший спосіб відкрити це вікно коду - натиснути клавішу Alt + F11 .
  • По-третє, вставте наступний код у це вікно коду:
 Sub Dynamic_Range() Dim xRange As String xRange = "B8:" + Worksheets("Dynamic Range").Cells(2, 2).Value + _ CStr(3 + Worksheets("Dynamic Range").Cells(1, 2).Value) For Each Row In Range(xRange) For Each Cell In Row Cell.Value = "$2500.00" Next Cell Next Row End Sub 
  • Тепер, щоб запустити код, натисніть на кнопку Біжи або натисніть кнопку F5 ключ.

  • В результаті набір даних заповнюється значенням $2500.00 наступним чином.

ПРИМІТКА:

На наведеному вище зображенні значення 6 представляє перші два рядки діапазону ( B8:B9 ).

  • Нарешті, введіть значення 9 в камері B1 замість 6 Результати ми можемо побачити на наступному зображенні.

5. вставте VBA для циклічного проходження всього рядка в діапазоні

У п'ятому прикладі ми побачимо, як можна застосувати VBA для циклічного перебору всього рядка в діапазоні. Цей приклад знайде позицію певного значення з вибраного одного або декількох рядків.

Отже, давайте подивимося, які кроки ми будемо робити, щоб виконати цей приклад.

КРОКИ:

  • Почнемо з того, клацніть правою кнопкою миші на активному аркуші з ім'ям ' Весь ряд '. Виберіть опцію ' Переглянути код '.

  • Вищевказана команда відкриває порожній бланк VBA вікно коду для активного аркуша. Ми також можемо отримати це вікно коду, натиснувши клавішу Alt + F11 .
  • Далі у вікні коду введіть наступний код:
 Sub VBA_Loop_Entire_Row() Dim w As Range For Each w In Range("5:9") If w.Value = "Chris" Then MsgBox "Chris found at " & w.Address End If Next w End Sub 
  • Потім натисніть на кнопку Біжи або натисніть кнопку F5 ключ для запуску коду.

  • На наведеному вище зображенні виділене значення ' Кріс. ' вказує на значення, яке ми будемо шукати. Значення діапазону ' 5:9 ' вказує на те, що ми будемо шукати значення в діапазоні комірок ( B5:B9 ).
  • Нарешті, з'явиться вікно повідомлення про те, що значення ' Кріс. ' знаходиться в камері B6 .

Докладніше: Як використовувати VBA для кожного рядка діапазону в Excel

6. Перебір кожного n-го рядка в діапазоні за допомогою Excel VBA

В останньому прикладі застосуємо VBA щоб пройти через кожну n-й Рядок у діапазоні. У наступному наборі даних ми застосуємо кольорове зафарбовування до непарних рядків нашого діапазону даних.

Отже, давайте розглянемо кроки для виконання цього методу.

КРОКИ:

  • По-перше, клацніть правою кнопкою миші на активному аркуші з ім'ям ' n-й рядок '. Виберіть опцію ' Переглянути код '.

  • Далі відкривається порожній бланк VBA вікно коду для цього аркуша. Ми також можемо отримати це вікно коду, натиснувши клавішу Alt + F11 .
  • Потім введіть наступний код у цьому вікні кодів:
 Sub ShadeRows1() Dim r As Long With Range("B5").CurrentRegion For r = 1 To .Rows.Count If r / 2 = Int(r / 2) Then 'парні рядки .Rows(r).Interior.ColorIndex = 43 End If Next End With End Sub 
  • Тепер натисніть на кнопку Біжи або натисніть кнопку F5 ключ для запуску коду.

  • Нарешті, ми бачимо, що наведений вище код затінює лише непарні рядки з нашого набору даних.

Читати далі: Циклічний перебір діапазону в Excel VBA до порожньої комірки (4 приклади)

Висновок

На закінчення, цей підручник дає вам 6 приклади циклічного перебору рядків в діапазоні з VBA Завантажте практичний аркуш, що міститься в цій статті, щоб перевірити свої навички. Якщо у вас виникли питання, будь ласка, залиште коментар у полі нижче. Наша команда постарається відповісти на ваше повідомлення якнайшвидше. Слідкуйте за новими винахідливими Microsoft Excel рішень у майбутньому.

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.