Pole VBA v aplikaci Excel | Jak pracovat s funkcí polí ve VBA?

V poli VBA se používají k definování skupiny objektů společně, ve VBA existuje devět různých funkcí pole a jsou to ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT a UBOUND, to vše jsou vestavěné funkce pro pole ve VBA nám funkce Array dává hodnotu pro daný argument.

Funkce pole VBA aplikace Excel

Funkce pole je soubor hodnot v jedné proměnné. Můžeme dodat pole podprogramu v vba, funkcích a vlastnostech. Pole VBA jsou jednou z často používaných technik k ukládání více než jedné hodnoty do proměnné.

Příklady funkce pole Excel VBA

Namísto deklarování mnoha proměnných a ukládání hodnot můžeme použít pole Excel VBA k uložení hodnoty do jedné proměnné samotné. Podívejte se například na níže uvedený příklad

Tuto šablonu VBA Array Excel si můžete stáhnout zde - Šablona VBA Array Excel

Kód:

 Sub Array_Ex () Dim x As Integer Dim y As Integer x = 1 y = 2 Range ("A1"). Value = x Range ("A2"). Value = y End Sub 

Ve výše uvedeném příkladu jsem deklaroval dvě proměnné zvané x & y. X má 1 jako hodnotu a Y má 2 jako hodnotu.

Nyní se podívejte na příklad funkce pole Excel VBA s jedinou proměnnou.

Kód:

 Sub Array_Ex () Dim x (1 až 2) As Integer Range ("A1"). Value = x (1) Range ("A2"). Value = x (2) End Sub 

Nyní, pokud spustíte tento kód VBA, budeme mít hodnoty v buňce A1 a A2.

Proměnné pole vrátily výsledek jako nulu. Je to proto, že jsme právě deklarovali proměnné jako dvě, ale těmto proměnným jsme nepřiřadili žádné hodnoty. Musíme tedy těmto proměnným přiřadit hodnoty.

Kód:

 Sub Array_Ex () Dim x (1 až 2) As Integer x (1) = 10 x (2) = 20 Range ("A1"). Value = x (1) Range ("A2"). Value = x (2 ) End Sub 

Nyní spusťte kód, abyste získali výsledky.

Než zadáme hodnoty proměnných pole do buněk, musíme přiřadit hodnotu deklarovaným proměnným pole, jako jsme přiřadili proměnné x (1) = 10 & x (2) = 20.

Příklad č. 1 - Vkládání sériových čísel pomocí statického pole

Podívejme se na příklad použití statického pole k vložení sériových čísel. Je to jako předchozí.

Kód:

 Sub StaticArray_Ex () Dim x (1 až 5) As Integer x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Range ("A1"). Hodnota = x (1) Rozsah ("A2"). Hodnota = x (2) Rozsah ("A3"). Hodnota = x (3) Rozsah ("A4"). Hodnota = x (4) Rozsah ("A5") ) .Value = x (5) End Sub 

Nyní spusťte tento kód a vložte sériová čísla.

Příklad č. 2 - Vkládání sériových čísel pomocí dynamického pole

Nyní uvidíme druhý typ pole, tj. Dynamické pole

Kód:

 Sub DynamicArray_Ex () Dim x () As Integer ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Range ("A1" ) .Value = x (1) Range ("A2"). Value = x (2) Range ("A3"). Value = x (3) Range ("A4"). Value = x (4) Range (" A5 "). Hodnota = x (5) End Sub 

Nyní spusťte tento kód, abyste získali výsledek sériových čísel. Získáme stejný výsledek jako předchozí.

Pokud si všimnete, že jsme při deklaraci proměnné nezadali délku pole, místo toho jsme pomocí funkce VBA Redim přiřadili poslední hodnotu pole VBA. Redim obsahuje poslední hodnotu pole, která má být předána.

Příklad č. 3 - Vytvoření funkce Vložit názvy měsíců pomocí pole

Viděli jsme, jak pracovat s poli ve VBA. Nyní uvidíme, jak pracovat s polem k vytvoření funkcí VBA v aplikaci Excel. Tato funkce není nic jiného než uživatelem definovaná funkce ve VBA. Kromě použití vestavěných funkcí nám excel VBA umožňuje vytvářet také vlastní funkce.

Kód:

 Funkce List_Of_Months () List_Of_Months = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov "," Dec ") Konec funkce 

Níže uvedený kód vytvoří funkci, která může do našeho listu aplikace Excel vložit měsíce.

Zkopírujte a vložte níže uvedený kód do svého modulu.

Nyní uložte tento kód a zavřete editor VBA. Po zavření editoru VBA přejděte do listu a zadejte vzorec, který jsme právě vytvořili, a v listu byste měli vidět vzorec s názvem List_Of_Months .

Otevřete vzorec a stiskněte klávesu Enter. Dostaneme jméno prvního měsíce, tj. Jan

Pokud vložíte vzorec ještě jednou, dostaneme Jan pouze ne příští měsíc únor. Nejprve tedy vyberte 12 sloupců v jednom řádku.

Nyní otevřete vzorec v buňce D1.

Protože jsme vytvořili vzorec s polem, musíme vzorce zavřít pouze jako vzorec pole. Takže podržte Ctrl + Shift + Enter. Měli bychom všechna 12měsíční jména.

Věci k zapamatování

  • K dispozici jsou další dva typy polí, tj. Dvourozměrné pole a vícerozměrné pole.
  • Pole začínají od 0, ne od 1. Nula znamená první řádek a první sloupec.
  • Pole je velké téma, kterému musíte porozumět, abyste postoupili na další úroveň.
  • Proměnná pole bude ta, která uchovává mnoho dat pokaždé, když postoupí na další úroveň.
  • Redim se používá k uložení poslední délky pole v dynamickém typu pole.

$config[zx-auto] not found$config[zx-overlay] not found