Dinamični niz v Excelu VBA - enostavni makri Excel

Kazalo

Č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:

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave