Pole objektů VBA

Obsah

Tento tutoriál předvede, jak vytvářet a používat pole objektů ve VBA.

Ve VBA jsou pole proměnné, které ukládají více hodnot. Objekty VBA můžete ukládat do polí stejným způsobem, jako byste ukládali jakákoli jiná data.

Deklarace pole objektů

V tomto příkladu deklarujeme řadu listů VBA:

1 Dim arWks (3) As worksheet

Naplnění pole statických objektů

Deklarujte pole objektů jako statické a poté můžete pole naplnit listy, které vyberete ze sešitu.

12345678 Dílčí testObjArray ()'definujte pole jako pole listuDim arWks (1 až 3) jako pracovní list'přidejte do pole 3 listyset arWks (1) = Sheets (1)set arWks (2) = Sheets (2)Nastavit arWks (3) = Listy (3)End Sub

Naplnění dynamického pole objektů

Pole objektů můžete deklarovat jako dynamické a poté před přiřazením velikosti pole k objektu pole spočítat listy v sešitu.

1234567891011121314 Dílčí testObjArray ()'definujte pole jako pole listuDim arWks () jako pracovní list'spočítejte, kolik listů v souboru je, a znovu stmívejte poleDim n jako celé čísloDim i As Integer'spočítejte listy a mínus jeden, abyste nastavili hranice polen = Application.Sheets.Count - 1ARDY ReDim (n)'vyplňte pole listu všemi listy v sešitu.'Pro i = LBound (arWks) až UBound (arWks)Nastavit arWks (i) = ActiveWorkbook.Sheets (i + 1)Příště jáEnd Sub

Ve výše uvedeném příkladu nejprve deklarujeme pole listu. Potom sečteme počet listů v sešitu a přiřadíme tuto hodnotu mínus jeden UBound pole. To je způsobeno skutečností, že LBound of the Array začíná jako 0. Nakonec smyčku prolistujeme a každý list přidáme do pole.

Použití pole objektů v kódu VBA

Jakmile naplníme pole listu, můžeme použít VBA k procházení pole.

123456789101112131415161718 Dílčí testObjArray ()'definujte pole jako pole listuDim arWks () jako pracovní list'spočítejte, kolik listů v souboru je, a znovu stmívejte poleDim n jako celé čísloDim i As Integer'spočítejte listy a mínus jeden, abyste nastavili hranice polen = Application.Sheets.Count - 1ARDY ReDim (n)'vyplňte pole listu všemi listy v sešitu.'Pro i = LBound (arWks) až UBound (arWks)Nastavit arWks (i) = ActiveWorkbook.Sheets (i + 1)Příště já„udělejte něco s každým listem v poliPro i = LBound (arWks) až UBound (arWks)arWks (i) .Range ("A1: H1"). Font.Bold = TruePříště jáEnd Sub

Ve výše uvedeném příkladu smyčku procházíme a tučně označíme první řádek každého listu v poli.

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave