Dynamické pole v programe Excel VBA
Ak sa veľkosť poľa zvýši a nechcete opraviť veľkosť poľa, môžete použiť Kľúčové slovo ReDim. Excel VBA potom automaticky zmení veľkosť poľa.
Pridajte niektoré čísla do stĺpca A.
Do pracovného hárka umiestnite príkazové tlačidlo a pridajte nasledujúce riadky kódu:
1. Najprv deklarujeme pole s názvom čísla. Tiež deklarovať dve premenné typu Integer. Jedna pomenovaná veľkosť a jedna s názvom i.
Poznámka: pole zatiaľ nemá žiadnu veľkosť. čísla, veľkosť a i sú tu náhodne vybrané, môžete použiť akékoľvek mená. Nezabudnite sa na tieto mená odvolať vo zvyšku kódu.
2. Ďalej určujeme veľkosť poľa a uložíme ho do premennej veľkosti. Pre tento účel môžete použiť funkciu tabuľky CountA. Pridajte nasledujúci riadok kódu:
3. Teraz poznáme veľkosť poľa a môžeme ho redimenzovať. Pridajte nasledujúci riadok kódu:
4. Ďalej inicializujeme každý prvok poľa. Používame slučku.
numbers(i) = Cells(i, 1).Value
Next i
5. Zobrazujeme posledný prvok poľa pomocou MsgBox.
6. Ukončite Editor jazyka a kliknite na príkazové tlačidlo na hárku.
výsledok:
7. Teraz jasne zistite, prečo sa toto nazýva dynamické pole, pridajte číslo do stĺpca A.
8. Znova kliknite na príkazové tlačidlo.
Záver: program Excel VBA automaticky zmenil veľkosť tohto dynamického poľa.
9. Keď použijete kľúčové slovo ReDim, vymažete všetky existujúce údaje aktuálne uložené v poli. Napríklad pridajte nasledujúce riadky kódu k predtým vytvorenému kódu:
MsgBox numbers(1)
výsledok:
Pole je prázdne.
10. Ak chcete zachovať údaje v existujúcom poli po jeho redimenzácii, použite kľúčové slovo Preserve.
MsgBox numbers(1)
výsledok: