/ / Array dinamic în Excel VBA

Setul dinamic în Excel VBA

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

Adăugați unele numere în coloana A.

Setul dinamic în Excel VBA

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

1. În primul rând, declarăm matricele numite numere. De asemenea, declarați două variabile de tip Integer. O dimensiune denumită și una numită i.

Dim numbers() As Integer, size As Integer, i As Integer

Notă: matricea nu are încă nicio dimensiune. numere, dimensiune și i sunt alese aleatoriu aici, puteți utiliza orice nume. Nu uitați să vă referiți la aceste nume în restul codului.

2. Apoi, determinăm dimensiunea matricei și stocăm-o în dimensiunea variabilei. Puteți utiliza pentru aceasta funcția de calcul CountA. 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:

ReDim numbers(size)

4. În continuare, inițializăm fiecare element al matricei. Folosim o buclă.

For i = 1 To size
    numbers(i) = Cells(i, 1).Value
Next i

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

MsgBox numbers(size)

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

Rezultat:

Ultimul element al matricei

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

Adauga numarul

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

Rezultatul din matricea dinamică

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

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

ReDim numbers(3)
MsgBox numbers(1)

Rezultat:

Fără conservare

Matricea este goală.

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 numbers(3)
MsgBox numbers(1)

Rezultat:

Cu Preserve

De asemenea, citiți: