VBA Declare Array - Hvordan erklære arrays i VBA?

Innholdsfortegnelse

Excel VBA erklærer matrise

Erklæring om matrise i VBA er veldig lik den for variabler den gjøres med samme svake utsagn eller statisk offentlig eller privat uttalelse, den eneste forskjellen i å erklære en matrise og deklarere en variabel er at mens vi deklarerer en matrise, må vi gi en størrelse av en matrise som er øvre grense for matrisen og den nedre grensen av matrisen.

I VBA-kode kan vi deklarere en enkelt variabelmatrise som kan inneholde antall variabler i stedet for å erklære enkeltvariabler. Dette kan bidra til å redusere antall linjer i koden.

Matrisen er en slags variabel som kan inneholde mer enn en verdi, i motsetning til vanlige variabler som bare kan inneholde en verdi om gangen. Matrisen er en avansert versjon av deklarering av variabler i VBA. Tenk deg for eksempel en situasjon der du vil tildele 5 studentnavn til variabler, og i allmennpraksis erklærer vi fem variabler for alle de fem variablene vi tildeler individuelle studentnavn en etter en; nedenfor er eksempelkoden til den samme.

Kode:

Underarray_eksempel () Dim student1 som streng dim student2 som streng dim student3 som streng dim student4 som streng dim student5 som streng slutt sub

I stedet for å erklære så mange variabler, hva med ideen om å erklære en enkelt variabeloppstilling som kan inneholde alle studentnavnene.

Ja, dette er mulig ved å erklære matrisen i VBA.

Eksempler

Eksempel 1

For å erklære, trenger vi ikke gjøre noen spesiell VBA-koding. Snarere må vi følge enkle konsepter.

Først starter du underprosedyren.

Kode:

Sub Array_Example () End Sub

Nå, som vanlig, erklærer du en variabel som en streng.

Kode:

Sub Array_Example () Dim Student Som String End Sub

Når variabelen er deklarert, må du sørge for hvor mange verdier den skal inneholde. I dette tilfellet vil jeg lagre fem studenters navn, så nå må vi fikse matrisestørrelsen, dvs. 1 til 5. Gi det samme til variabel i parentes.

Kode:

Sub Array_Example () Dim Student (1 til 5) Som strengens sluttub

Nå kan vi lagre 5 studentnavn for denne variabelen.

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 redusert ved å erklære variabelen som en matrise. Dette er en måte å gjøre på. Vi kan fortsatt forkorte denne koden ved å legge den inne i løkkene i VBA.

Nå for et eksempel, de samme fem navnene jeg har i regnearkcellene

Nå vil jeg vise disse tallene i meldingsboksen i VBA; ok, la oss erklære en variabel til for løkker som helhet datatype.

Kode:

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

Som vanlig har jeg beholdt arrayvariabelen som 1 til 5 størrelser.

Åpne nå FOR NEXT loop i VBA, og siden vi har fem navn, angir du grensen som 1 til 5.

Kode:

Sub Array_Example () Dim Student (1 til 5) Som streng Dim K som heltall for K = 1 til 5 Neste K End Sub

For å tilordne verdier til arrayvariabelen, trenger vi ikke å følge den forrige måten å vise Student (1), Student (2) slik for tallposisjonsforsyningssløyfe variabel “k.”

Kode:

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

For denne arrayvariabelen trenger vi verdiene fra regnearket, så bruk av CELLS-egenskap får verdiene fra regnearket.

Kode:

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 Next K End Sub

Vis nå verdien av matrixvariabelen gjennom meldingsboksen.

Kode:

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

Kjør nå koden. I meldingsboksen vil vi se fornavnet. Trykk igjen på Ok for å se det andre navnet. Slik ved å trykke Ok, kan vi se alle de fem navnene.

Eksempel 2 - To dimensjonale matriser

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

Lukk nå løkken, som vist nedenfor.

Kode:

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"). Velg Student (k, J) = Cells (k, J) .Value Worksheets ("Copy Sheet"). Velg Cells (k, J) .Value = Student (k, J) Next J Next k End Sub

Hva dette vil gjøre er at det vil kopiere dataene fra "Student List" -arket og lime inn i "Copy Sheet."

Ting å huske

  • Matrisen er et stort konsept; dette er bare en innledende del.
  • Du trenger avanserte kodingsferdigheter for å forstå matrixerklæringen.
  • Jo mer du bruker arrays i koden din, jo mer blir du vant til den.

Interessante artikler...