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.