Dynamisk matrix i Excel VBA - nemme Excel -makroer

Indholdsfortegnelse

Hvis størrelsen på dit array øges, og du ikke vil rette matrixens størrelse, kan du bruge ReDim søgeord. Excel VBA ændrer derefter størrelsen på arrayet automatisk.

Tilføj nogle tal til kolonne A.

Placer en kommandoknap på dit regneark, og tilføj følgende kodelinjer:

1. For det første erklærer vi arrayet med navne. Deklarer også to variabler af typen Integer. En navngivet størrelse og en ved navn i.

Dim numre () Som heltal, størrelse Som heltal, i Som heltal

Bemærk: arrayet har ingen størrelse endnu. tal, størrelse og jeg er tilfældigt valgt her, du kan bruge alle navne. Husk at henvise til disse navne i resten af ​​din kode.

2. Dernæst bestemmer vi størrelsen på arrayet og gemmer det i den variable størrelse. Du kan bruge regnearksfunktionen CountA til dette. Tilføj følgende kodelinje:

size = WorksheetFunction.CountA (regneark (1). kolonner (1))

3. Vi kender nu matrixens størrelse, og vi kan redimensionere det. Tilføj følgende kodelinje:

ReDim -numre (størrelse)

4. Dernæst initialiserer vi hvert element i arrayet. Vi bruger en loop.

For i = 1 Til størrelse
tal (i) = Celler (i, 1) .Værdi
Næste i

5. Vi viser det sidste element i arrayet ved hjælp af en MsgBox.

MsgBox -numre (størrelse)

6. Afslut Visual Basic Editor, og klik på kommando -knappen på arket.

Resultat:

7. For nu tydeligt at se, hvorfor dette kaldes et dynamisk array, skal du tilføje et tal til kolonne A.

8. Klik på kommandoknappen igen.

Konklusion: Excel VBA har automatisk ændret størrelsen på dette dynamiske array.

9. Når du bruger søgeordet ReDim, sletter du alle eksisterende data, der aktuelt er gemt i arrayet. Føj f.eks. Følgende kodelinjer til den tidligere oprettede kode:

ReDim -numre (3)
MsgBox -numre (1)

Resultat:

Arrayen er tom.

10. Når du vil bevare dataene i det eksisterende array, når du redimensionerer dem, skal du bruge søgeordet Bevar.

ReDim Bevar tal (3)
MsgBox -numre (1)

Resultat:

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave