Če se velikost matrike poveča in ne želite določiti velikosti matrike, lahko uporabite datoteko Ključna beseda ReDim. Excel VBA nato samodejno spremeni velikost matrike.
Dodajte nekaj številk v stolpec A.
Na delovni list postavite ukazni gumb in dodajte naslednje kodne vrstice:
1. Najprej razglasimo polje z imenom številk. Prav tako razglasite dve spremenljivki tipa Integer. Ena imenovana velikost in ena z imenom i.
Zatemni številke () kot celo število, velikost kot celo število, i kot celo število
Opomba: matrika še nima velikosti. tukaj so naključno izbrane številke, velikost in jaz, lahko uporabite poljubno ime. Ne pozabite se sklicevati na ta imena v preostali kodi.
2. Nato določimo velikost matrike in jo shranimo v spremenljivo velikost. Za to lahko uporabite funkcijo delovnega lista CountA. Dodajte naslednjo kodno vrstico:
velikost = Delovni listFunction.CountA (Delovni listi (1). Stolpci (1))
3. Zdaj vemo velikost matrike in jo lahko ponovno dimenzioniramo. Dodajte naslednjo kodno vrstico:
Številke ReDim (velikost)
4. Nato inicializiramo vsak element matrike. Uporabljamo zanko.
Za i = 1 Po velikosti
številke (i) = celice (i, 1) .Vrednost
Naprej i
5. Zadnji element matrike prikažemo s pomočjo polja MsgBox.
Številke MsgBox (velikost)
6. Zaprite urejevalnik Visual Basic in kliknite ukazni gumb na listu.
Rezultat:
7. Zdaj, da jasno vidite, zakaj se temu reče dinamična matrika, dodajte številko v stolpec A.
8. Znova kliknite ukazni gumb.
Zaključek: Excel VBA je samodejno spremenil velikost tega dinamičnega niza.
9. Ko uporabite ključno besedo ReDim, izbrišete vse obstoječe podatke, ki so trenutno shranjeni v matriki. Na primer, predhodno ustvarjeni kodi dodajte naslednje kodne vrstice:
Številke ReDim (3)
MsgBox številke (1)
Rezultat:
Polje je prazno.
10. Če želite ohraniti podatke v obstoječi matriki, ko jo znova dimenzionirate, uporabite ključno besedo Preserve.
ReDim Preserve številke (3)
MsgBox številke (1)
Rezultat: