Цикл VBA через масив / для кожного елемента в масиві

Цей підручник навчить вас перебирати масиви у VBA.

Існує два основних способи прокручування масивів за допомогою VBA:

  • Для кожної петлі - Цикл "Для кожної петлі" прокручуватиме кожен елемент у масиві.
  • Для наступного циклу - Цикл For Next буде циклічно проходити через зазначені початкові та кінцеві позиції масиву (ми можемо використовувати функції UBound і LBound для циклу по всьому масиву).

Для кожного елемента в масиві

The Для кожної петлі дозволяє прокручувати кожен елемент масиву.

12345678910111213141516171819 Sub LoopForArrayStatic ()'оголосити масив варіантівЗатемнити strNames (від 1 до 4) як рядок'заповнити масивstrNames (1) = "Боб"strNames (2) = "Петро"strNames (3) = "Кейт"strNames (4) = "Сем"'оголосити варіант для утримання елемента масивуЗатемнити елемент як варіант'цикл по всьому масивуДля кожного елемента в strNames'показати елемент у вікні налагодження.Налагодження. Друк елементаПетляEnd Sub

Наведена вище процедура прокрутить усі імена в масиві.

Для наступного циклу

Цикл For Next прокручуватиме кожен елемент у заданій початковій та кінцевій позиції масиву.

Цикл через частину масиву

Ви можете вручну вказати початкове та кінцеве положення для вашого циклу. Це може бути доречним, якщо ви знаєте розмір свого масиву та/або хочете лише прокрутити частину масиву.

12345678910111213141516 Sub LoopForNextStatic ()'оголосити масив варіантівЗатемнити strNames (від 1 до 4) як рядок'заповнити масивstrNames (1) = "Боб"strNames (2) = "Петро"strNames (3) = "Кейт"strNames (4) = "Сем"'оголосити ціле числоDim i як ціле число'цикл від положення 2 до положення 3 масивуДля i = 2 до 3'Показувати ім'я у вікні, що відкриваєтьсяНалагодження.Надрукувати strNames (i)Далі iEnd Sub

У наведеному вище прикладі ми перебрали положення 2 і 3 масиву. Негайне вікно поверне імена таким чином.

Цикл по всьому масиву

Далі ми будемо використовувати функції UBound і LBound для циклу по всьому масиву. Це надзвичайно корисно, якщо початкове та кінцеве положення масиву можуть змінитися (наприклад, динамічний масив):

123456789101112131415161718 Sub LoopForNextDynamic ()'оголосити масив варіантівDim strNames () Як рядок'ініціалізувати масивReDim strNames (від 1 до 4)'заповнити масивstrNames (1) = "Боб"strNames (2) = "Петро"strNames (3) = "Кейт"strNames (4) = "Сем"'оголосити ціле числоDim i як ціле число'цикл від нижньої межі масиву до верхньої межі масиву - всього масивуДля i = LBound (strNames) До UBound (strNames)'Показувати ім'я у вікні, що відкриваєтьсяНалагодження.Надрукувати strNames (i)Далі iEnd Sub

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave