Dinaminis masyvas „Excel VBA“ - paprastos „Excel“ makrokomandos

Turinys

Jei jūsų masyvo dydis padidėja ir nenorite taisyti masyvo dydžio, galite naudoti „ReDim“ raktinis žodis. Excel VBA tada automatiškai keičia masyvo dydį.

Prie A stulpelio pridėkite keletą skaičių.

Įdėkite komandų mygtuką į savo darbalapį ir pridėkite šias kodo eilutes:

1. Pirma, mes deklaruojame masyvo pavadintus skaičius. Taip pat deklaruokite du sveikojo tipo kintamuosius. Vienas pavadintas dydis, o kitas - i.

Nežymūs skaičiai () Kaip sveikas skaičius, dydis kaip sveikasis skaičius, ir kaip sveikasis skaičius

Pastaba: masyvas dar neturi dydžio. čia atsitiktinai pasirenkami skaičiai, dydis ir aš, galite naudoti bet kokius pavadinimus. Nepamirškite nurodyti šių pavadinimų likusioje kodo dalyje.

2. Toliau mes nustatome masyvo dydį ir išsaugome jį kintamojo dydyje. Tam galite naudoti darbalapio funkciją CountA. Pridėkite šią kodo eilutę:

size = WorksheetFunction.CountA (darbalapiai (1). stulpeliai (1))

3. Dabar mes žinome masyvo dydį ir galime jį pakeisti. Pridėkite šią kodo eilutę:

„ReDim“ skaičiai (dydis)

4. Toliau inicijuojame kiekvieną masyvo elementą. Mes naudojame kilpą.

Jei i = 1 iki dydžio
skaičiai (i) = ląstelės (i, 1). Vertė
Kitas I.

5. Mes rodome paskutinį masyvo elementą naudodami „MsgBox“.

„MsgBox“ numeriai (dydis)

6. Išeikite iš „Visual Basic“ redaktoriaus ir lape spustelėkite komandų mygtuką.

Rezultatas:

7. Dabar norėdami aiškiai suprasti, kodėl tai vadinama dinaminiu masyvu, pridėkite skaičių prie A stulpelio.

8. Dar kartą spustelėkite komandos mygtuką.

Išvada: „Excel VBA“ automatiškai pakeitė šio dinaminio masyvo dydį.

9. Kai naudojate „ReDim“ raktinį žodį, ištrinate visus esamus duomenis, šiuo metu saugomus masyve. Pavyzdžiui, prie anksčiau sukurto kodo pridėkite šias kodo eilutes:

„ReDim“ skaičiai (3)
„MsgBox“ numeriai (1)

Rezultatas:

Masyvas tuščias.

10. Jei norite išsaugoti esamame masyve esančius duomenis, kai juos pakeisite, naudokite raktinį žodį Išsaugoti.

„ReDim Preserve“ skaičiai (3)
„MsgBox“ numeriai (1)

Rezultatas:

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave