/ / Dynamické pole v aplikaci Excel VBA

Dynamické pole v aplikaci Excel VBA

Pokud velikost pole se zvětší a nechcete opravit velikost pole, můžete použít Klíčové slovo ReDim. Excel VBA změní velikost pole automaticky.

Přidejte do sloupce A několik čísel.

Dynamické pole v aplikaci Excel VBA

Umístěte na pracovní list příkazové tlačítko a přidejte následující řádky kódu:

1. Nejprve deklarujeme pole pojmenované čísla. Deklarujte také dvě proměnné typu Integer. Jedna jmenovaná velikost a jedna s názvem i.

Dim numbers() As Integer, size As Integer, i As Integer

Poznámka: pole zatím nemá velikost. čísla, velikost a i jsou náhodně vybrány, můžete použít libovolná jména. Nezapomínejte na tyto názvy ve zbytku kódu.

2. Dále určíme velikost pole a uložíme jej do velikosti proměnné. Pro tento účel můžete použít funkci listu CountA. Přidejte následující řádek kódu:

size = WorksheetFunction.CountA(Worksheets(1).Columns(1))

3. Nyní známe velikost pole a můžeme jej změnit. Přidejte následující řádek kódu:

ReDim numbers(size)

4. Dále inicializujeme každý prvek pole. Používáme smyčku.

For i = 1 To size
    numbers(i) = Cells(i, 1).Value
Next i

5. Zobrazujeme poslední prvek pole pomocí MsgBoxu.

MsgBox numbers(size)

6. Ukončete Editor jazyka a klepněte na příkazové tlačítko na listu.

Výsledek:

Poslední prvek pole

7. Nyní jasně vidíte, proč se toto nazývá dynamické pole, přidejte číslo do sloupce A.

Přidat číslo

8. Znovu klepněte na příkazové tlačítko.

Výsledek dynamického pole

Závěr: Aplikace Excel VBA automaticky změnila velikost tohoto dynamického pole.

9. Když použijete klíčové slovo ReDim, vymažete všechna existující data aktuálně uložená v poli. Například přidat následující řádky kódu dříve vytvořený kód:

ReDim numbers(3)
MsgBox numbers(1)

Výsledek:

Bez zachování

Pole je prázdné.

10. Chcete-li zachovat data v existujícím poli při jeho redimování, použijte klíčové slovo Zachovat.

ReDim Preserve numbers(3)
MsgBox numbers(1)

Výsledek:

Se zachováním

Také si přečtěte: