VBA Array Size - trinnvis guide med eksempler

I denne artikkelen gir vi trinnvis guide for å finne matrisestørrelsen ved hjelp av VBA-kode.

Hvordan finne størrelsen på en serie ved hjelp av VBA-kode?

Følg trinnene for å finne matrisestørrelsen ved hjelp av Excel VBA-kode.

  • Trinn 1: La oss starte med det grunnleggende først, erklære en variabel i VBA som variant datatype.

Kode:

Sub Array_Size () Dim MyArray Som Variant End Sub
  • Trinn 2: For denne variabelen bruk ARRAY-funksjonen og tilordne noen verdier som vist nedenfor.

Kode:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") End Sub
  • Trinn 3: Ok, vi har tilordnet noen verdier til matrisenavnet “MyArray”.

Anta at hvis vi trenger å skrive en sløyfe for å lagre disse matriseverdiene i celler, må vi bestemme hvor mange ganger sløyfen må kjøres. Dette avhenger av antall verdier matrisen har.

Ok, se nå på antall verdier som er tilordnet matrisenavnet “MyArray”, det er totalt 7 verdier som er tilordnet matrisen, så nå vet vi hvor mange ganger løkken må kjøre for å lagre verdiene til en matrise i celler .

  • Trinn 4: Deklarer en annen variabel som heltall for å skrive FOR-loop i VBA.

Kode:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer For k = 1 til 7 Neste k End Sub
  • Trinn 5: Der vi går, har vi åpnet FOR-sløyfen som startende fra 1 til 7, inne i sløyfen skriv CELLS-egenskapen for å lagre som vist nedenfor.

Kode:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer For k = 1 til 7 Celler (k, 1) .Value = MyArray (k) Neste k End Sub
  • Trinn 6: Ok, utfør nå koden linje for linje ved å trykke på en F8-funksjonstast. Når du trykker på F8-tasten første gang, vil den starte makroen.
  • Trinn 7: Trykk på F8 nå, den hopper til linjen for tildeling av matriseverdi.
  • Trinn 8: Fra nå av har arraynavnet “MyArray” ingen verdier i. Trykk F8, og alle de nevnte verdiene vil bli tilordnet arrayvariabelen.
  • Trinn 9: Nå sløyfe begynner å løpe og trykk F8-tasten to ganger og se hvilken verdi vi får i celle A1.
  • Ups !!! Vent, vår første verdi i arrayvariabelen er "Jan", men vi har resultatet som den andre verdien "Feb" når den første verdisløyfen fortsatt kjører.
  • Trinn 10: Dette er fordi når matrixverdiene teller starter fra null, ikke fra 1, må vi inkludere startløkken som null.
  • Trinn 11: Når startposisjonen til sløyfen er redusert med en tilsvarende slutt, skal også reduseres med 1, så gjør slutten som 6 i stedet for 7.
  • Trinn 12: Når sløyfens start og slutt bestemte seg for en tilpasning til, må vi gjøre, dvs. i CELLS-egenskapen har vi brukt "k" -variabelen som den dynamiske cellevelgeren, men siden sløyfen vår starter fra null, er det ingen celle starter med null , så legg pluss 1 til variabelen “k”.

Kode:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer For k = 0 Til 6 Celler (k + 1, 1) .Value = MyArray (k) Neste k End Sub
  • Trinn 13: Så når løpene er startet er førstegangs "k" -verdien null, og siden vi har lagt til pluss 1, vil "k" -verdien være 1 så refererer til celle A1.
  • Trinn 14: Kjør nå koden, og alle verdiene til matrisen vil bli lagret i celler.

I dette tilfellet har vi imidlertid bestemt sløyfens start- og sluttstørrelse manuelt, men størrelsen på matrisen kan enkelt bestemmes ved hjelp av funksjonene LBOUND & UBOUND.

Finn størrelse på en serie automatisk

  • Trinn 1: Når vi omtrent inkluderte sløyfe start- og sluttpunkt i det ovennevnte, har vi manuelt talt antall verdier matrisen har, men for å starte matrisen, bruk LBOUND-funksjonen og for dette passet "MyArray" variabelnavn.
  • Trinn 2: Og for å bestemme den siste matrisestørrelsen, bruk UBOUND-funksjonen og skriv inn navnet på matrisen “MyArray”.

Kode:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer For k = Lboubd (MyArray ) Til UBound (MyArray) celler (k + 1, 1) .Value = MyArray (k) Neste k End Sub
  • Trinn 3: Ok, start nå linjen etter linjekode og trykk F8-tasten til den når sløyfens startpunkt.
  • Trinn 4: Plasser nå først markøren på “LBound (MyArray)” og se hva den sier.
  • Trinn 5: Utgangspunktet tallet det står på er null, plasser nå markøren på “UBound (MyArray)” og se hva den sier.

Det står matrisestørrelse som 6, så som hvordan vi har nevnt start og slutt manuelt, velger UBOUND og LBOUND automatisk tallene for oss.

Interessante artikler...