Ako se veličina vašeg niza povećava i ne želite popraviti veličinu niza, možete koristiti Ključna riječ ReDim. Excel VBA zatim automatski mijenja veličinu niza.
Dodajte neke brojeve u stupac A.
Postavite naredbeni gumb na radni list i dodajte sljedeće retke koda:
1. Prvo, deklariramo niz pod nazivom numbers. Također deklarirajte dvije varijable tipa Integer. Jedna imenovana veličina i jedna po imenu i.
Zatamnjivanje brojeva () Kao cijeli broj, veličina kao cijeli broj, i kao cijeli broj
Napomena: polje još nema veličinu. brojevi, veličina i ja ovdje su nasumično odabrani, možete koristiti bilo koja imena. Ne zaboravite se pozivati na ta imena u ostatku koda.
2. Zatim određujemo veličinu niza i spremamo ga u promjenjivu veličinu. Za to možete koristiti funkciju radnog lista CountA. Dodajte sljedeći kodni redak:
size = WorksheetFunction.CountA (Radni listovi (1). Stupci (1))
3. Sada znamo veličinu niza i možemo ga ponovno dimenzionirati. Dodajte sljedeći kodni redak:
ReDim brojevi (veličina)
4. Zatim inicijaliziramo svaki element niza. Koristimo petlju.
Za i = 1 Prema veličini
brojevi (i) = Ćelije (i, 1) .Vrijednost
Sljedeći i
5. Prikazujemo zadnji element niza pomoću MsgBox -a.
MsgBox brojevi (veličina)
6. Izađite iz programa Visual Basic Editor i kliknite naredbeni gumb na listu.
Proizlaziti:
7. Sada da biste jasno vidjeli zašto se to zove dinamički niz, dodajte broj u stupac A.
8. Ponovno kliknite gumb za naredbu.
Zaključak: Excel VBA automatski je promijenio veličinu ovog dinamičkog niza.
9. Kada koristite ključnu riječ ReDim, brišete sve postojeće podatke koji su trenutno pohranjeni u nizu. Na primjer, prethodno kreiranom kodu dodajte sljedeće retke koda:
ReDim brojevi (3)
MsgBox brojevi (1)
Proizlaziti:
Niz je prazan.
10. Kada želite sačuvati podatke u postojećem nizu pri ponovnoj dimenziji, upotrijebite ključnu riječ Preserve.
ReDim Brojevi za očuvanje (3)
MsgBox brojevi (1)
Proizlaziti: