VBA Array Size - Trin for trin guide med eksempler

I denne artikel giver vi trin for trin vejledning til at finde arraystørrelsen ved hjælp af VBA-kode.

Hvordan finder man størrelsen på en matrix ved hjælp af VBA-kode?

Følg trinene for at finde matrixstørrelsen ved hjælp af Excel VBA-kode.

  • Trin 1: Lad os starte med det grundlæggende først, erklære en variabel i VBA som variantdatatypen.

Kode:

Sub Array_Size () Dim MyArray Som Variant End Sub
  • Trin 2: Brug denne ARRAY-funktion til denne variabel og tildel nogle værdier som vist nedenfor.

Kode:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") End Sub
  • Trin 3: Ok, vi har tildelt nogle værdier til arraynavnet “MyArray”.

Antag, at hvis vi har brug for at skrive en sløjfe for at gemme disse matrixværdier i celler, skal vi beslutte, hvor mange gange sløjfen skal køre. Dette afhænger af antallet af værdier, som arrayet har.

Ok, kig nu på antallet af værdier, der er tildelt arraynavnet “MyArray”, der er i alt 7 værdier tildelt arrayet, så nu ved vi, hvor mange gange sløjfen skal køre for at gemme værdier for en array til celler .

  • Trin 4: Erklær en anden variabel som heltal for at skrive FOR-loop i VBA.

Kode:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k som heltal For k = 1 til 7 Næste k Afslut Sub
  • Trin 5: Derefter har vi åbnet FOR-sløjfen som startende fra 1 til 7, inde i sløjfen skriv CELLS-egenskaben for at gemme som vist nedenfor.

Kode:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k som heltal For k = 1 til 7 Celler (k, 1) .Værdi = MyArray (k) Næste k Afslut Sub
  • Trin 6: Ok, udfør nu koden linje for linje ved at trykke på en F8-funktionstast. Når du trykker på F8-tasten første gang, starter den makroen.
  • Trin 7: Tryk på F8 nu, det springer til tildelingslinje til array-værdi.
  • Trin 8: Fra nu af har array-navnet "MyArray" ingen værdier i det, tryk på F8, og alle de nævnte værdier vil blive tildelt array-variablen.
  • Trin 9: Nu vil loop begynde at køre og trykke på F8-tasten 2 gange og se hvilken værdi vi får i celle A1.
  • Ups !!! Vent, vores første værdi i arrayvariablen er "Jan", men vi har resultatet som den anden værdi "Feb", når den første værdisløjfe stadig kører.
  • Trin 10: Dette skyldes, at når dine matrixværdier tæller starter fra nul, ikke fra 1, så er vi nødt til at inkludere startløkken som nul.
  • Trin 11: Når først startpositionen for sløjfen er faldet med en tilsvarende slutning, skal den også sænkes med 1, så gør slutningen som 6 i stedet for 7.
  • Trin 12: Når løkken, der starter og slutter, har besluttet endnu en tweak, skal vi gøre, dvs. i egenskaben CELLS har vi brugt "k" -variablen som den dynamiske cellevælger, men da vores sløjfe starter fra nul, er der ingen celle starter med nul , så tilføj plus 1 til variablen “k”.

Kode:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k som heltal For k = 0 til 6 Celler (k + 1, 1) .Værdi = MyArray (k) Næste k Afslut sub
  • Trin 13: Så nu når løkken køres, er førstegangs "k" -værdien nul, og da vi har tilføjet plus 1, vil "k" -værdien være 1, så den henviser til celle A1.
  • Trin 14: Kør nu koden, og alle værdierne i arrayet gemmes i celler.

I dette tilfælde har vi imidlertid besluttet, at sløjfen starter og slutter størrelse manuelt, men størrelsen af ​​arrayet kan let bestemmes ved hjælp af LBOUND & UBOUND-funktioner.

Find størrelse på en matrix automatisk

  • Trin 1: Når vi omkring inkluderet loop start- og slutpunkt i ovenstående har vi manuelt talt antallet af værdier array har, men at starte array bruge LBOUND funktion og til dette pass "MyArray" variabel navn.
  • Trin 2: Og for at bestemme den sidste array-størrelse skal du bruge UBOUND-funktionen og indtaste arraynavnet “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). Værdi = MyArray (k) Næste k End Sub
  • Trin 3: Ok, start nu linjen efter linjekode, og tryk på F8-tasten, indtil den når sløjfens startpunkt.
  • Trin 4: Placer nu først din markør på “LBound (MyArray)” og se hvad den siger.
  • Trin 5: Startpunkt nummer, der står, er nul, placer nu markøren på “UBound (MyArray)” og se, hvad den siger.

Det siger matrixstørrelse som 6, så som hvordan vi har nævnt start og slutning manuelt, vælger UBOUND og LBOUND automatisk tallene for os.

Interessante artikler...