Pokud se velikost vašeho pole zvyšuje a nechcete velikost pole opravit, můžete použít Klíčové slovo ReDim. Excel VBA poté automaticky změní velikost pole.
Přidejte do sloupce A nějaká čísla.
Umístěte na list příkazové tlačítko a přidejte následující řádky kódu:
1. Nejprve deklarujeme pole pojmenovaná čísla. Také deklarujte dvě proměnné typu Integer. Jedna pojmenovaná velikost a jedna pojmenovaná i.
Dim čísla () jako celé číslo, velikost jako celé číslo, i jako celé číslo
Poznámka: pole zatím nemá žádnou velikost. zde jsou náhodně vybrána čísla, velikost a já, můžete použít libovolná jména. Ve zbytku kódu se na tyto názvy podívejte.
2. Dále určíme velikost pole a uložíme jej do proměnné velikosti. K tomu můžete použít funkci listu CountA. Přidejte následující řádek kódu:
size = WorksheetFunction.CountA (pracovní listy (1). sloupce (1))
3. Nyní známe velikost pole a můžeme jej znovu dimenzovat. Přidejte následující řádek kódu:
Čísla ReDim (velikost)
4. Dále inicializujeme každý prvek pole. Používáme smyčku.
Pro i = 1 do velikosti
čísla (i) = Buňky (i, 1). Hodnota
Příště já
5. Poslední prvek pole zobrazíme pomocí MsgBox.
Čísla MsgBox (velikost)
6. Ukončete editor jazyka Visual Basic a klikněte na příkazové tlačítko na listu.
Výsledek:
7. Nyní, abyste jasně viděli, proč se tomu říká dynamické pole, přidejte číslo do sloupce A.
8. Klepněte znovu na příkazové tlačítko.
Závěr: Excel VBA automaticky změnil velikost tohoto dynamického pole.
9. Když použijete klíčové slovo ReDim, vymažete veškerá stávající data aktuálně uložená v poli. Do dříve vytvořeného kódu například přidejte následující řádky kódu:
Čísla ReDim (3)
Čísla MsgBox (1)
Výsledek:
Pole je prázdné.
10. Pokud chcete zachovat data ve stávajícím poli, když je redimenzujete, použijte klíčové slovo Preserve.
Zachovat čísla ReDim (3)
Čísla MsgBox (1)
Výsledek: