VBA масиви в Excel - Как да работя с функция масиви във VBA?

Във VBA масивите се използват за дефиниране на групата обекти заедно, има девет различни функции на масив във VBA и те са ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT и UBOUND, всички те са вградени функции за масив във VBA, функцията Array ни дава стойността за дадения аргумент.

Функция за масив на Excel VBA

Функцията Array е колекция от стойности в една променлива. Можем да предоставим масив на подпрограма във VBA, функции и свойства. VBA масивите са една от често използваните техники за съхраняване на повече от една стойност в променливата.

Примери за функция на масив на Excel VBA

Вместо да декларираме много променливи и да съхраняваме стойностите, можем да използваме масива Excel VBA, за да съхраним стойността в самата променлива. Например погледнете примера по-долу

Код:

Sub Array_Ex () Dim x As Integer Dim y As Integer x = 1 y = 2 Range ("A1"). Value = x Range ("A2"). Value = y End Sub

В горния пример декларирах две променливи, наречени x & y. X държи 1 като стойност, а Y държи 2 като стойност.

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

Код:

Sub Array_Ex () Dim x (1 to 2) As Integer Range ("A1"). Value = x (1) Range ("A2"). Value = x (2) End Sub

Сега, ако стартирате този VBA код, ще имаме стойности в клетка A1 & A2.

Променливите на масива връщат резултата като нула. Това е така, защото току-що сме декларирали променливите като две, но не сме присвоили никакви стойности на тези променливи. Затова трябва да присвоим стойности на тези променливи.

Код:

Sub Array_Ex () Dim x (1 to 2) As Integer x (1) = 10 x (2) = 20 Range ("A1"). Value = x (1) Range ("A2"). Value = x (2 ) Край Sub

Сега стартирайте кода, за да получите резултати.

Преди да въведем стойностите на променливите на масива в клетките, трябва да присвоим стойността на тези декларирани променливи на масива, както сме присвоили променливите x (1) = 10 и x (2) = 20.

Пример # 1 - Вмъкване на серийни номера с помощта на статичен масив

Нека разгледаме примера за използване на статичен масив за вмъкване на серийни номера. Това е подобно на предишния.

Код:

Sub StaticArray_Ex () Dim x (1 до 5) Като Integer x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Обхват ("A1"). Стойност = x (1) диапазон ("A2"). Стойност = x (2) диапазон ("A3"). Стойност = x (3) диапазон ("A4"). Стойност = x (4) диапазон ("A5" Стойност = x (5) Край Sub

Сега стартирайте този код, за да вмъкнете серийни номера.

Пример # 2 - Вмъкване на серийни номера с помощта на динамичен масив

Сега ще видим втория тип масив, т.е. динамичен масив

Код:

Sub DynamicArray_Ex () Dim x () Като Integer ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Обхват ("A1" ). Стойност = x (1) Обхват ("A2"). Стойност = x (2) Обхват ("A3"). Стойност = x (3) Обхват ("A4"). Стойност = x (4) Обхват (" A5 "). Стойност = x (5) Край Sub

Сега изпълнете този код, за да получите резултата от серийните номера. Получаваме същия резултат като предишния.

Ако забележите, че не сме предоставили дължината на масива, докато декларираме променливата, вместо това сме присвоили последната стойност на VBA масива, използвайки функцията VBA Redim. Redim съдържа последната стойност на масива, който трябва да бъде предаден.

Пример # 3 - Създаване на функция Вмъкване на имена на месеца с помощта на масив

Видяхме как да работим с масиви във VBA. Сега ще видим как да работим с масив за създаване на VBA функция в Excel. Функцията не е нищо друго освен дефинирана от потребителя функция във VBA. Освен че използваме вградени функции, Excel VBA ни позволява да създаваме и собствени функции.

Код:

Функция List_Of_Months () List_Of_Months = Масив ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov "," Dec ") Крайна функция

Кодът по-долу ще създаде функция, която може да вмъква месеци в нашия Excel лист.

Копирайте и поставете кода по-долу във вашия модул.

Сега запазете този код и затворете редактора на VBA. След като затворите редактора на VBA, отидете на работния лист и въведете формулата, която току-що създадохме, и трябва да видите формулата, наречена List_Of_Months във вашия работен лист.

Отворете формулата и натиснете Enter. Ще получим името за първия месец, т.е. Jan.

Ако вмъкнете формулата още веднъж, пак ще получим само Jan, а не следващия месец, февруари. Затова първо изберете 12 колони в един ред.

Сега отворете формулата в клетка D1.

Тъй като сме създали формулата с масива, трябва да затворим формулите само като формула на масив. Така че задръжте Ctrl + Shift + Enter. Бихме имали всички 12-месечни имена.

Неща за запомняне

  • Налични са още два типа масиви, т.е. двуизмерен масив и многомерен масив.
  • Масивите започват от 0, а не от 1. Нула означава първия ред и първата колона.
  • Масивът е голяма тема. Трябва да го разберете, за да преминете към следващото ниво.
  • Променливата на масива ще бъде тази, която съдържа много данни всеки път, когато премине към следващото ниво.
  • Redim се използва за съхраняване на последната дължина на масива в динамичен тип масив.

Интересни статии...