VBA цикъл през масив / за всеки елемент в масив

Този урок ще ви научи как да преминете през масиви във VBA.

Има два основни начина за преминаване през масиви с помощта на VBA:

  • За всеки цикъл - За всеки цикъл ще премине през всеки елемент в масива.
  • За следващия цикъл - For Next Loop ще премине през определени начални и крайни позиции на масива (Можем да използваме функциите UBound и LBound, за да преминем през целия масив).

За всеки елемент в масив

The За всеки цикъл ви позволява да преминете през всеки елемент от масива.

12345678910111213141516171819 Sub LoopForArrayStatic ()'декларирайте вариант на масивDim strNames (1 To 4) As String'попълнете масиваstrNames (1) = "Боб"strNames (2) = "Петър"strNames (3) = "Кийт"strNames (4) = "Сам"'декларирайте вариант за задържане на елемента на масиваЗатъмнете елемента като вариант'цикъл през целия масивЗа всеки елемент в strNames'покажете елемента в прозореца за отстраняване на грешки.Отстраняване на грешки. Печат на елементЦикълEnd Sub

Горната процедура ще премине през всички имена в масива.

За следващия цикъл

За следващия цикъл ще премине през всеки елемент в определена начална и крайна позиция на масива.

Цикъл през част от масива

Можете ръчно да посочите началната и крайната позиция за вашия цикъл. Това може да е подходящо, ако знаете размера на вашия масив и/или искате само да преминете през част от масив.

12345678910111213141516 Sub LoopForNextStatic ()'декларирайте вариант на масивDim strNames (1 To 4) As String'попълнете масиваstrNames (1) = "Боб"strNames (2) = "Петър"strNames (3) = "Кийт"strNames (4) = "Сам"'декларирайте цяло числоDim i As Integer'цикъл от позиция 2 до позиция 3 на масиваЗа i = 2 към 3'покажете името в непосредствения прозорецDebug.Print strNames (i)Следва iEnd Sub

В примера по -горе ние се завъртяхме през позиции 2 и 3 на масива. Непосредственият прозорец ще върне имената, както следва.

Превъртане през целия масив

След това ще използваме UBound и LBound функциите, за да преминем през целия масив. Това е изключително полезно, ако началната и крайната позиция на масива могат да се променят (напр. Динамичен масив):

123456789101112131415161718 Sub LoopForNextDynamic ()'декларирайте вариант на масивDim strNames () Като String'инициализирайте масиваReDim strNames (1 до 4)'попълнете масиваstrNames (1) = "Боб"strNames (2) = "Петър"strNames (3) = "Кийт"strNames (4) = "Сам"'декларирайте цяло числоDim i As Integer'цикъл от долната граница на масива до горната граница на масива - целия масивЗа i = LBound (strNames) Към UBound (strNames)'покажете името в непосредствения прозорецDebug.Print strNames (i)Следва iEnd Sub

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave