VBA Variant Array

Tento tutoriál předvede, jak vytvářet a pracovat s variantními poli.

Typ varianty pole

Pole je typ proměnné. Stejně jako u ostatních proměnných jsou pole deklarována pomocí příkazu Dim pro pole na úrovni modulu nebo procedury nebo příkazu Public pro pole na globální úrovni.

Variantní pole je pole, které je deklarováno jako variantní datový typ. Variantní datové typy mohou ukládat jakýkoli typ hodnot: text, čísla, data, čas nebo objekty.

Výhody variant pole

Variantní pole jsou speciální, protože se s nimi pracuje snadněji než s typickými poli.

  1. Je snazší je deklarovat.
  2. Nemusíte se starat o to, jaký datový typ se zadává do pole (např. Pokud buňka obsahuje text nebo čísla).
  3. Pole můžete naplnit funkcí Array (pokud není při deklaraci definována velikost Array).
  4. Ke změně velikosti / opětovného naplnění pole nemusíte používat příkaz REDIM (pokud není při deklaraci definována velikost pole).

Deklarace pole variant

Chcete -li deklarovat variantní pole, můžete napsat toto jednoduché prohlášení

1 Dim varNames ()

To je považováno za a dynamický variantní pole.

Všimněte si, že nemusíte zadávat datový typ (předpokládá se, že jde o variantu) nebo velikost pole.

Přiřaďte hodnoty do pole variant

Pole variant mohou obsahovat jakýkoli typ hodnot: text, čísla, data, čas nebo objekty.

Chcete -li přiřadit hodnoty variantnímu poli, můžete použít funkci Array:

12 'naplnit polevarNames () = Pole („Fred“, „Wilma“, „Barney“, „Betty“)

Tato metoda může být pro vás jednodušší než použití standardní metody:

12345 “naplňte každý prvekvarNames (0) = "Fred"varNames (1) = "Wilma"varNames (2) = "Barney"varNames (3) = "Betty"

Změnit velikost pole variant

Pole dynamických variant mohou za běhu měnit velikost. Nemusíte používat typické Redim nebo Redim Zachovat příkazy nutné ke změně velikosti standardních polí.

Příklad variantního pole

Když to všechno dáme dohromady, tento postup se naplní a znovu osídlí variantní pole:

123456789101112 Dílčí testovací pole ()'deklarujte proměnnouDim varNames () jako varianta'naplnit polevarNames () = Pole („Fred“, „Wilma“, „Barney“, „Betty“)'vrátit hodnotyPřipojení MsgBox (varNames, ",")'znovu zalidnit polevarNames () = Pole (400, 500)'vrátit nové hodnotyPřipojení MsgBox (varNames, ",")End Sub

Osídlili jsme varNames pole se 4 jmény a poté se 2 čísly. Okna zpráv se zobrazí následovně.

wave wave wave wave wave