Pole objektov VBA

Obsah

Tento tutoriál vám ukáže, ako vytvárať a používať polia objektov vo VBA.

Vo VBA sú polia premenné, ktoré ukladajú viac hodnôt. Objekty VBA môžete ukladať do polí rovnakým spôsobom, ako by ste ukladali akékoľvek iné údaje.

Vyhlásenie poľa objektov

V tomto prípade deklarujeme pole pracovných hárkov VBA:

1 Dim arWks (3) As worksheet

Naplnenie poľa statických objektov

Deklarujte, že pole objektov je statické, a potom môžete pole naplniť listami, ktoré vyberiete zo zošita.

12345678 Sub TestObjArray ()'definujte pole ako pole pracovného hárkaDim arWks (1 to 3) As worksheet'pridajte do poľa 3 listyset arWks (1) = Sheets (1)set arWks (2) = Sheets (2)Nastaviť šípky (3) = listy (3)Koniec pod

Naplnenie dynamického poľa objektov

Pole objektov môžete vyhlásiť za dynamické a potom počítať listy v zošite pred priradením veľkosti poľa k poľu objektov.

1234567891011121314 Sub TestObjArray ()'definujte pole ako pole pracovného hárkaDim arWks () ako pracovný list'spočítajte, koľko pracovných hárkov je v súbore, a znova stmavte poleDim n ako celé čísloDim i As Integer'spočítajte listy a mínus jeden, aby ste nastavili hranice pre polen = Application.Sheets.Count - 1Klávesy ReDim (n)'vyplňte pole pracovného hárka všetkými listami v zošitePre i = LBound (arWks) až UBound (arWks)Nastaviť arWks (i) = ActiveWorkbook. Tabuľky (i + 1)Ďalej iKoniec pod

Vo vyššie uvedenom príklade najskôr deklarujeme pole pracovného hárka. Potom spočítame počet listov v zošite a priradíme túto hodnotu mínus jednu k UBound of the Array. Je to spôsobené tým, že LBound of the Array začína ako 0. Nakoniec prevlečieme listy a každý list pridáme do poľa.

Použitie poľa objektov v kóde VBA

Potom, čo sme naplnili pole pracovného hárka, môžeme použiť VBA na prechod v poli.

123456789101112131415161718 Sub TestObjArray ()'definujte pole ako pole pracovného hárkaDim arWks () ako pracovný list'spočítajte, koľko pracovných hárkov je v súbore, a znova stmavte poleDim n ako celé čísloDim i As Integer'spočítajte listy a mínus jeden, aby ste nastavili hranice pre polen = Application.Sheets.Count - 1Klávesy ReDim (n)'vyplňte pole pracovného hárka všetkými listami v zošitePre i = LBound (arWks) až UBound (arWks)Nastaviť arWks (i) = ActiveWorkbook. Tabuľky (i + 1)Ďalej i'urobte niečo s každým listom v poliPre i = LBound (arWks) až UBound (arWks)arWks (i). Range ("A1: H1"). Font.Bold = TrueĎalej iKoniec pod

Vo vyššie uvedenom príklade prechádzame poľom a tučný prvý riadok každého listu v poli.

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave