VBA Деклариране на масив - Как да декларирам масиви във VBA?

Съдържание

Excel VBA Declare Array

Декларирането на масив във VBA е много подобно на това на променливите, то се извършва от един и същ оператор dim или статичен публичен или частен оператор, единствената разлика в декларирането на масив и декларирането на променлива е, че докато декларираме масив, трябва да предоставим размер на масив, който е горната граница на масива и долната граница на масива.

В VBA Code можем да декларираме един масив от променливи, който може да съдържа броя на променливите, вместо да декларира единични променливи. Това може да помогне за намаляване на броя на редовете в кода.

Масивът е вид променлива, която може да съдържа повече от една стойност, за разлика от обикновените променливи, които могат да съдържат само една стойност наведнъж. Масивът е усъвършенствана версия на деклариране на променливи във VBA. Например, представете си ситуация, в която искате да присвоите 5 имена на ученици на променливи и в общата практика ние декларираме пет променливи за всичките пет променливи, които присвояваме отделни имена на ученици едно по едно; по-долу е примерен код на същия.

Код:

Sub Array_Example () Dim Student1 As String Dim Student2 As String Dim Student3 As String Dim Student Student4 As String Dim Student5 As String End Sub

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

Да, това е възможно чрез деклариране на масива във VBA.

Примери

Пример # 1

За да декларираме, не е необходимо да правим специално VBA кодиране. По-скоро трябва да следваме прости концепции.

Първо стартирайте подпроцедурата.

Код:

Sub Array_Example () Край Sub

Сега, както обикновено, декларирайте променлива като низ.

Код:

Sub Array_Example () Затъмняване на студент като низ в края Sub

След като променливата бъде декларирана, сега се уверете колко стойности трябва да съдържа. В този случай искам да съхранявам имената на пет ученици, така че сега трябва да поправим размера на масива, т.е. от 1 до 5. Да предоставим същото нещо на променлива в скоби.

Код:

Sub Array_Example () Dim Student (1 до 5) Като String End Sub

Сега за тази единична променлива можем да съхраним 5 имена на ученици.

Код:

Sub Array_Example () Dim Student (1 to 5) As String Student (1) = "John" Student (2) = "Peter" Student (3) = "Ricky" Student (4) = "Michael" Student (5) = "Anderson" End Sub

Вижте колко редове сме намалили, като декларираме променливата като масив. Това е един от начините. Все още можем да съкратим този код, като го заградим в цикли във VBA.

Сега за пример, същите пет имена, които имам в клетките на работния лист

Сега искам да покажа тези числа в полето за съобщения във VBA; добре, нека декларираме още една променлива за цикли като Integer тип данни.

Код:

Sub Array_Example () Dim Student (1 to 5) As String Dim K As Integer End Sub

Както обикновено, запазих променливата на масива от 1 до 5 размера.

Сега отворете FOR NEXT цикъл във VBA и тъй като имаме пет имена, въведете ограничението от 1 до 5.

Код:

Sub Array_Example () Dim Student (1 to 5) As String Dim K As Integer For K = 1 To 5 Next K End Sub

За да присвоим стойности на променливата на масива, не е необходимо да следваме предишния начин за показване на Student (1), Student (2) по този начин за променлива „k.“ За подаване на числа.

Код:

Sub Array_Example () Dim Student (1 to 5) As String Dim K As Integer For K = 1 To 5 Student (K) = Next K End Sub

За тази променлива на масива ни трябват стойностите от работния лист, така че използването на свойството CELLS получава стойностите от работния лист.

Код:

Sub Array_Example () Dim Student (1 to 5) As String Dim K As Integer For K = 1 To 5 Student (K) = Cells (K, 1). Стойност Next K End Sub

Сега през полето за съобщения покажете стойността на променливата на масива.

Код:

Sub Array_Example () Dim Student (1 to 5) As String Dim K As Integer For K = 1 To 5 Student (K) = Cells (K, 1) .Value MsgBox Student (K) Next K End Sub

Сега стартирайте кода. В полето за съобщение ще видим първото име. Отново натиснете Ok, за да видите второто име. По този начин, като натиснете Ok, можем да видим всичките пет имена.

Пример # 2 - Двумерни масиви

We have seen above how the array works, now we will see to dimensional arrays. Two-dimensional arrays concentrate on both rows and columns.

In the above example, we have determined the array’s size as 1 to 5; this either concentrates on rows or columns.

By using two-dimensional arrays, we can concentrate on both rows and columns. For this, we need to enclose two loops.

First, define the variable then late we will decide about the size of the array.

Code:

Sub Two_Array_Example() Dim Student As String End Sub

First, decide row size then decide the column length.

Code:

Sub Two_Array_Example() Dim Student(1 To 5, 1 To 3) As String End Sub

For this, I have structured the data for student names, marks, and grade status.

Now come back to the coding window.

Declare two more variables for a loop.

Code:

Sub Two_Array_Example () Dim Student (1 to 5, 1 to 3) As String Dim K As Integer, J As Integer End Sub

Сега затворете цикъла, както е показано по-долу.

Код:

Sub Two_Array_Example () Dim Student (1 to 5, 1 To 3) As String Dim k As Integer, J As Integer For k = 1 To 5 For J = 1 To 3 Worksheets ("Student List"). Изберете Student (k, J) = Клетки (k, J). Работни листове за стойност ("Копиране на лист"). Изберете клетки (k, J). Стойност = Студент (k, J) Напред J Следващ k Край Sub

Това, което ще направите, е да копира данните от листа „Списък на студентите“ и да ги постави в „Копиране на лист“.

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

  • Масивът е обширна концепция; това е само уводна част.
  • Нуждаете се от усъвършенствани умения за кодиране, за да разберете декларацията на масива.
  • Колкото повече използвате масиви в кода си, толкова повече ще свикнете с него.

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