Hvis størrelsen på matrisen øker og du ikke vil fikse størrelsen på matrisen, kan du bruke ReDim -søkeord. Excel VBA endrer deretter størrelsen på matrisen automatisk.
Legg til noen tall i kolonne A.
Plasser en kommandoknapp på regnearket og legg til følgende kodelinjer:
1. Først erklærer vi matrisen med tall. Deklarer også to variabler av typen Heltall. En navngitt størrelse og en som heter i.
Dim tall () As Integer, size As Integer, i As Integer
Merk: matrisen har ingen størrelse ennå. tall, størrelse og jeg er tilfeldig valgt her, kan du bruke alle navn. Husk å referere til disse navnene i resten av koden.
2. Deretter bestemmer vi størrelsen på matrisen og lagrer den i den variable størrelsen. Du kan bruke regnearksfunksjonen CountA til dette. Legg til følgende kodelinje:
size = WorksheetFunction.CountA (regneark (1). kolonner (1))
3. Vi kjenner nå størrelsen på matrisen, og vi kan redimensjonere den. Legg til følgende kodelinje:
ReDim -tall (størrelse)
4. Deretter initialiserer vi hvert element i matrisen. Vi bruker en sløyfe.
For i = 1 Til størrelse
tall (i) = Celler (i, 1). Verdi
Neste jeg
5. Vi viser det siste elementet i matrisen ved hjelp av en MsgBox.
MSGBox -tall (størrelse)
6. Avslutt Visual Basic Editor og klikk på kommandoknappen på arket.
Resultat:
7. For å tydelig se hvorfor dette kalles en dynamisk matrise, legg til et tall i kolonne A.
8. Klikk på kommandoknappen igjen.
Konklusjon: Excel VBA har automatisk endret størrelsen på denne dynamiske matrisen.
9. Når du bruker søkeordet ReDim, sletter du eksisterende data som er lagret i matrisen. For eksempel, legg til følgende kodelinjer i den tidligere opprettede koden:
ReDim -tall (3)
MsgBox -tall (1)
Resultat:
Matrisen er tom.
10. Når du vil bevare dataene i den eksisterende matrisen når du redimensjonerer dem, bruker du søkeordet Bevar.
ReDim Bevar tall (3)
MsgBox -tall (1)
Resultat: