VBA erklærer matrix - Hvordan man erklærer arrays i VBA?

Indholdsfortegnelse

Excel VBA erklærer matrix

Erklæring om matrix i VBA svarer meget til variabler, den udføres med samme svage udsagn eller statisk offentlig eller privat erklæring, den eneste forskel i at erklære en matrix og erklære en variabel er, at mens vi deklarerer en matrix, skal vi give en størrelse af et array, der er arrayets øvre grænse og arrayets nedre grænse.

I VBA-kode kan vi erklære et enkelt variabelt array, der kan indeholde antallet af variabler i stedet for at deklarere enkelt variabler. Dette kan hjælpe med at reducere antallet af linjer i koden.

Arrayet er en slags variabel, der kan indeholde mere end en værdi, i modsætning til almindelige variabler, der kun kan indeholde en værdi ad gangen. Arrayet er en avanceret version af deklarering af variabler i VBA. Forestil dig f.eks. En situation, hvor du vil tildele 5 elevers navne til variabler, og i almindelig praksis erklærer vi fem variabler for alle de fem variabler, vi tildeler individuelle elevnavne en efter en; nedenfor er eksemplets kode for det samme.

Kode:

Sub Array_Example () Dim Student1 Som streng Dim Student2 Som streng Dim Student3 Som streng Dim Student4 Som streng Dim Student5 Som streng End Sub

I stedet for at erklære så mange variabler, hvad med ideen om at erklære et enkelt variabelt array, der kan indeholde alle studerendes navne.

Ja, dette er muligt ved at erklære arrayet i VBA.

Eksempler

Eksempel nr. 1

For at erklære behøver vi ikke foretage nogen speciel VBA-kodning. Vi skal snarere følge enkle begreber.

Start først delproceduren.

Kode:

Sub Array_Example () Afslut Sub

Nu, som normalt, erklærer en variabel som en streng.

Kode:

Sub Array_Example () Dæmp student som streng-ende-sub

Når variablen er deklareret, skal du nu sørge for, hvor mange værdier den skal indeholde. I dette tilfælde vil jeg gemme fem studerendes navne, så nu skal vi rette arraystørrelsen, dvs. 1 til 5. Lever den samme ting til variabel i parentes.

Kode:

Sub Array_Example () Dim Student (1 til 5) Som streng-slut-sub

Nu for denne enkelt variabel kan vi gemme 5 studenternavne.

Kode:

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

Se hvor mange linjer vi har reduceret ved at erklære variablen som en matrix. Dette er en måde at gøre på. Vi kan stadig forkorte denne kode ved at omslutte denne inde i sløjferne i VBA.

Nu for et eksempel de samme fem navne, som jeg har i regnearkceller

Nu vil jeg vise disse tal i meddelelsesboksen i VBA; ok, lad os erklære endnu en variabel for sløjfer som heltal datatype.

Kode:

Sub Array_Example () Dim Student (1 til 5) Som streng Dim K som Integer End Sub

Som sædvanligt har jeg bevaret arrayvariablen som 1 til 5 størrelser.

Åbn nu FOR NEXT loop i VBA, og da vi har fem navne, skal du indtaste grænsen som 1 til 5.

Kode:

Sub Array_Example () Dim Student (1 til 5) Som streng Dim K som heltal for K = 1 til 5 Næste K End Sub

For at tildele værdier til arrayvariablen behøver vi ikke følge den foregående måde at vise Student (1), Student (2) på denne måde for numre placeringsforsyningssløjfer variabel “k.”

Kode:

Sub Array_Example () Dim Student (1 til 5) Som streng Dim K som heltal for K = 1 til 5 Student (K) = Næste K End Sub

For denne matrixvariabel har vi brug for værdierne fra regnearket, så brug af CELLS-egenskab får værdierne fra regnearket.

Kode:

Underarray_eksempel () Dim student (1 til 5) som streng Dim K som heltal for K = 1 til 5 elev (K) = celler (K, 1). Værdi næste K slut sub

Vis nu værdien af ​​arrayvariablen gennem meddelelsesfeltet.

Kode:

Underarray_eksempel () Dim student (1 til 5) som streng Dim K som heltal for K = 1 til 5 elev (K) = celler (K, 1). Værdi MsgBox-elev (K) Næste K slut sub

Kør nu koden. I meddelelsesfeltet ser vi fornavnet. Tryk igen på Ok for at se det andet navn. Som dette ved at trykke på Ok, kan vi se alle de fem navne.

Eksempel # 2 - To-dimensionelle arrays

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 til 5, 1 til 3) Som streng Dim K som heltal, J som heltal End Sub

Vedhæft nu sløjfen, som vist nedenfor.

Kode:

Sub Two_Array_Example () Dim Student (1 til 5, 1 til 3) Som streng Dim k som heltal, J som heltal for k = 1 til 5 for J = 1 til 3 regneark ("Student List"). Vælg Student (k, J) = Celler (k, J) .Værdeark ("Copy Sheet"). Vælg celler (k, J) .Værdi = Student (k, J) Næste J Næste k Afslut sub

Hvad dette vil gøre er, at det vil kopiere dataene fra "Student List" -arket og indsætte i "Copy Sheet."

Ting at huske

  • Arrayet er et stort koncept; dette er kun en indledende del.
  • Du har brug for avancerede kodningsfærdigheder for at forstå matrixerklæringen.
  • Jo mere du bruger arrays i din kode, jo mere bliver du vant til den.

Interessante artikler...