Excel VBA для кожної петлі

Ключове слово "кожне" використовується у VBA разом із функцією "For". Це означає, що для кожної сутності в масиві або діапазоні повторіть процес для циклу. В основному ми не будемо вводити діапазон кроків, тобто від 1 до 5 або 1 до 10, замість цього просто поставимо його, як показано в синтаксисі нижче.

Синтаксис:

Для кожного імені об'єкта в діапазоні

Примітка . На робочому аркуші Excel потрібно мати вкладку Developer.

Якщо ви не бачите в Excel вкладку «Розробник», дотримуйтесь наведених нижче кроків.

Крок 1: Клацніть на варіант файлу .

Крок 2: З'являється меню, що випадає, натисніть на вкладку Параметри .

Крок 3: Після натискання на "Параметри" з'явиться діалогове вікно, як показано нижче, і натисніть на параметр Налаштувати стрічку .

Крок 4: Коли ми перетягнемо вниз налаштування стрічки для налаштування, ми знайдемо варіант для Developer, нам потрібно встановити прапорець, який дозволить нам використовувати VBA в excel.

Як використовувати для кожного циклу в VBA?

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

Ви можете завантажити цей шаблон VBA для кожного циклу Excel шаблон тут - VBA для кожного шаблона Excel

Excel VBA для кожного циклу - приклад №1

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

Виконайте наведені нижче дії для використання для кожного циклу в Excel VBA.

Крок 1: Перейдіть на вкладку «Developer», а потім натисніть на опцію «Visual Basic» ліворуч (перша опція), як показано нижче.

Після натискання на нього з'являється нове вікно, як показано нижче.

Ви помітите, що він містить дві вкладки з лівої сторони, "Sheet1 (Sheet1)" та "ThisWorkbook". Єдина відмінність - "Sheet1", коли ви хочете виконати код лише для цього аркуша, і в "ThisWorkbook" ми можемо написати код і виконати, який можна застосувати до всієї робочої книги excel.

Крок 2: Двічі клацніть на "Sheet1 (Sheet1)", і ви побачите порожній екран, де нам потрібно написати код. Дайте ім’я створеному підмножині. Тут ми назвали «Sub For_Each_Ex1 ()», як показано на скріншоті нижче.

Код:

 Sub For_Each_Ex1 () Кінець Sub 

Таким чином ми створюємо підмножину і автоматично з’являється “End Sub”. Це за замовчуванням функція excel. Якщо "End Sub" не з'являється, код не виконає і видасть помилку.

Крок 3: Ми оголосимо змінні як діапазон.

Код:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range End Sub 

Тут ми оголосили дві змінні, «Заробити», які ми використовуватимемо для кожного та «Діапазон1» як діапазон набору даних.

Крок 4: Тепер ми будемо виправляти діапазон, тобто діапазон даних, над якими нам потрібно працювати, використовуючи ключове слово «Встановити», як показано нижче.

Код:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range Set Range1 = Діапазон ("A1: A10") Кінець Sub 

Тут ми зафіксували "Діапазон1" від комірок діапазону від А1 до А10, що є нашим набором даних.

Крок 5: Тепер ми виконаємо для циклу, використовуючи кожне ключове слово.

Код:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range Set Ran11 = Діапазон ("A1: A10") для кожного заробітку в діапазоні1 Кінець підрозділу 

Тут, для кожного значення в діапазоні, Earn отримає значення, призначене для того, як цикл виконується покроково.

Крок 6: Тепер ми будемо використовувати ключове слово "Msgbox" для відображення кожного запису рядка у призначеному діапазоні.

Код:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range Set Ran11 = Діапазон ("A1: A10") для кожного заробітку в діапазоні1 Earl. MsgBox Earn.Value End Sub 

Тут "Earn.value" відобразить значення в комірці, тобто починаючи з першої комірки в діапазоні.

Крок 7: Тепер ми хочемо виконати наступне значення в заданому діапазоні комірок, отже, нам доведеться використовувати в коді ключове слово «Далі». Це допоможе продовжити далі в діапазоні та відображати кожну сутність у діапазоні комірок по черзі.

Код:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range Set Ran11 = Діапазон ("A1: A10") для кожного заробітку в діапазоні1 Earn MsgBox.Value Наступний заробіток Кінець Sub 

Крок 8: Запустіть код, натиснувши кнопку F5 або Запустити і подивіться вихід.

У момент, коли виконується рядок коду «Наступний заробіток», «Earn.value» буде присвоєно наступне значення комірки в діапазоні. Один за одним клацанням по кнопці «ОК» і продовжуватиме відображати кожне значення в діапазоні до завершення діапазону значень.

Excel VBA для кожного циклу - приклад №2

Візьмемо інший приклад, в якому будемо відображати назву кожного аркуша у файлі excel. Припустимо, у нас є листи, названі як у файлі excel:

Як ми помічаємо, що у файлі excel є близько 5 аркушів, і нам потрібно відображати ім’я кожного по одному.

Ми запишемо і виконаємо код у розділі "ThisWorkbook", як зазначено в червоному полі нижче:

Двічі клацніть по ній, і поки з’явиться вікно, і починайте писати в ньому код. Виконайте наведені нижче дії для використання для кожного циклу в Excel VBA:

Крок 1: Ми запишемо код, призначивши ім'я підмножини, як показано нижче.

Код:

 Ім'я підсторінки () Закінчення Sub 

Крок 2: Також ми можемо безпосередньо почати писати оператор циклу "For", не оголошуючи змінну, як показано нижче.

Код:

 Ім'я підсторінки () Для кожного штату в Application.Sheets End Sub 

Тут "sht" - це наша змінна1, яка за замовчуванням декларується, а "Application.sheets" означає, що у файлі враховуються всі аркуші. Application.fucntion вказує, що ми можемо додати будь-яку функцію чи функцію чи інструмент excel, який слід врахувати під час виконання коду.

Крок 3: Тепер ми введемо синтаксис поля повідомлень і разом з ним додамо синтаксис до відображення назви аркуша, як показано нижче:

Код:

 Назва сторінки підрозділу () Для кожного sht у програмі. Листи MsgBox "Назва аркуша:" & sht.Name End Sub 

Тут висловлювання, яке ми хотіли б показати: "Назва аркуша:", а потім ми набираємо амперсанд (&), який об'єднує рядок коду, а потім набираємо "sht.Name", тобто він вибере аркуш, починаючи з першого аркуш і відобразити назву.

Крок 4: Тепер нам потрібно повторити процес відображення назви кожного аркуша. Отже, ми будемо використовувати "Next sht", як показано нижче:

Код:

 Назва сторінки підрозділу () для кожного sht у програмі. Листи MsgBox "Назва аркуша:" & sht.Name Наступний sht Кінець Sub 

"Next sht" дасть системі знати про це, розгляне наступний аркуш і відобразить його ім'я для подальшого виконання.

Крок 6: Запустіть код, натиснувши кнопку F5 або Запустити і подивіться вихід.

Після натискання кнопки «ОК», і код виконуватиметься далі, він відобразить назву наступного аркуша. Код буде виконуватись, поки на дисплеї не з’являться інші аркуші.

Excel VBA для кожного циклу - приклад №3

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

Виконайте наведені нижче дії для використання для кожного циклу в Excel VBA:

Крок 1: Спочатку оголосіть ім'я підмножини як "eachadd ()", як показано нижче.

Код:

 Sub eachadd () Кінець Sub 

Крок 2: Тепер ми оголосимо потрібні змінні - ціле число з назвою «загальне», в якому ми продовжуємо підбивати підсумки значень комірок по черзі та фіксуємо діапазон комірок, який містить значення, які нам потрібно додати.

Код:

 Sub eachadd () Dim total as Integer Dim Range1 As End Range Sub 

Крок 3: Після, оголосивши змінну та діапазон, нам потрібно виправити діапазон, який буде використовуватися для циклу. Ми будемо фіксувати цей діапазон від клітинок від А1 до А10 за допомогою ключового слова «Встановити», як показано нижче:

Код:

 Sub eachadd () Загальний розмір диму як цілий діапазон затемнення1 Як набір діапазону Діапазон1 = Діапазон ("A1: A10") Кінець Sub 

Крок 4: Тепер ми можемо безпосередньо почати використовувати функцію циклу For і безпосередньо оголосити змінну. Тут ми використовуємо "add1" як змінну, і вона буде за замовчуванням оголошена системою.

Код:

 Sub eachadd () Dim total as In inteer Dim Range1 As Range Set Range1 = Діапазон ("A1: A10") для кожного add1 In Range1 End Sub 

Крок 5: Додавання кожної сутності в діапазон по одному і до змінної, оголошеної "загальною". За замовчуванням значення «всього» спочатку дорівнює нулю. І нам потрібно додати по одному значення осередків, і знову цю суму треба знову додати в «загальний».

Код:

 Sub eachadd () Dim total As In Integer Dim Range1 As Range Set Ran11 = Діапазон ("A1: A10") для кожної добавки1 у діапазоні1 всього = усього + додаток1.Закінчення підзарядки 

Вищенаведене твердження виконується справа наліво, тобто "add1.value" - це перше значення комірки та додайте його до "total", що дорівнює нулю. Значить, сума дорівнюватиме 0 + 1, що дорівнює 1. А ця сума, як 1, буде входити до "всього" перед знаком "=". Це перевага, оскільки формула виконується зліва направо.

Крок 6: Тепер додайте "Next add1", який тепер допоможе врахувати наступне значення комірки діапазону даних і додайте це значення у змінну "total", як показано нижче.

Код:

 Sub eachadd () Dim total As Integer Dim Range1 As Range Set Range1 = Діапазон ("A1: A10") для кожної добавки1 у діапазоні1 всього = загальний + add1.Value Наступний add1 Кінець Sub 

Крок 6: Натисніть “F8”, щоб запустити код по кожному рядку. Крім того, ми можемо бачити значення "всього" на скріншоті нижче.

Аналогічно, поки діапазон комірок не перейде, цикл буде продовжувати виконувати цю суму масиву.

Крок 7: Зараз ми будемо використовувати ключове слово "Msgbox".

Код:

 Sub eachadd () Dim total as Integer Dim Range1 As Range Set Range1 = Діапазон ("A1: A10") для кожної добавки1 у діапазоні1 всього = загальний + add1.Value Наступний add1 MsgBox "Остаточне підсумовування:" & total End Sub 

Крок 8: Запустіть код, натиснувши кнопку F5 або Запустити і подивіться вихід.

Що потрібно пам’ятати

  • Ключове слово "кожне" використовується більшість разів лише у випадку використання функції VBA For Loop. Крім того, він має обмежене використання в excel VBA.
  • Перевага для ключового слова "Кожне" полягає лише в тому, що в операторі "Для" ми не маємо оголошувати кроки на зразок від 1 до x .

Рекомендовані статті

Це посібник до VBA для кожного циклу. Тут ми обговорюємо, як використовувати для кожного циклу в Excel з використанням коду VBA разом із практичними прикладами та шаблоном Excel, який можна завантажити. Нижче наведено кілька корисних статей Excel, пов’язаних із VBA -

  1. VBA Робіть цикл
  2. Перемикання стовпців в Excel
  3. Перерва VBA для циклу
  4. Підрахунок імен в Excel
  5. Як запустити код VBA?

Категорія: