Matrice dinamică în Excel VBA - Macro Excel ușor

Cuprins

Dacă dimensiunea matricei dvs. crește și nu doriți să fixați dimensiunea matricei, puteți utiliza fișierul Cuvânt cheie ReDim. Excel VBA apoi modifică automat dimensiunea matricei.

Adăugați câteva numere în coloana A.

Plasați un buton de comandă pe foaia de lucru și adăugați următoarele linii de cod:

1. Mai întâi, declarăm matricea numită numere. De asemenea, declarați două variabile de tip întreg. O mărime numită și una numită i.

Numere slabe () Ca număr întreg, dimensiune Ca număr întreg, i Ca număr întreg

Notă: matricea nu are încă dimensiuni. numerele, dimensiunea și eu sunt alese aleatoriu aici, puteți folosi orice nume. Nu uitați să consultați aceste nume în restul codului.

2. Apoi, determinăm dimensiunea matricei și o stocăm în dimensiunea variabilă. Puteți utiliza funcția de foaie de lucru CountA pentru aceasta. Adăugați următoarea linie de cod:

size = WorksheetFunction.CountA (Worksheets (1) .Columns (1))

3. Știm acum dimensiunea matricei și o putem redimensiona. Adăugați următoarea linie de cod:

Numere ReDim (dimensiune)

4. Apoi, inițializăm fiecare element al matricei. Folosim o buclă.

Pentru i = 1 La dimensiune
numere (i) = Celule (i, 1). Valoare
Apoi eu

5. Afișăm ultimul element al matricei folosind un MsgBox.

Numere MsgBox (dimensiune)

6. Ieșiți din Visual Basic Editor și faceți clic pe butonul de comandă de pe foaie.

Rezultat:

7. Acum, pentru a vedea clar de ce aceasta se numește matrice dinamică, adăugați un număr în coloana A.

8. Faceți din nou clic pe butonul de comandă.

Concluzie: Excel VBA a schimbat automat dimensiunea acestei matrice dinamice.

9. Când utilizați cuvântul cheie ReDim, ștergeți orice date existente stocate în prezent în matrice. De exemplu, adăugați următoarele linii de cod la codul creat anterior:

Numere ReDim (3)
Numere MsgBox (1)

Rezultat:

Tabloul este gol.

10. Când doriți să păstrați datele din matricea existentă atunci când o redimensionați, utilizați cuvântul cheie Conservare.

ReDim Preserve numerele (3)
Numere MsgBox (1)

Rezultat:

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave