Ši pamoka parodys, kaip sukurti ir naudoti objektų masyvus VBA.
VBA masyvai yra kintamieji, kuriuose saugomos kelios vertės. VBA objektus galite saugoti masyvuose taip pat, kaip ir kitus duomenis.
Objekto masyvo paskelbimas
Šiame pavyzdyje mes paskelbsime VBA darbalapių masyvą:
1 | Dim arWks (3) Kaip darbalapis |
Statinio objekto masyvo užpildymas
Paskelbkite, kad objektų masyvas yra statinis, tada galite užpildyti masyvą lapais, kuriuos pasirinkote iš savo darbaknygės.
12345678 | Antrasis testas „ObjArray“ ()'apibrėžti masyvą kaip darbalapio masyvąPritvirtinkite (1–3) kaip darbalapį“Į masyvą pridėkite 3 lapusnustatyti arWks (1) = lakštai (1)nustatyti arWks (2) = lakštai (2)Nustatyti arWks (3) = lakštai (3)Pabaiga Sub |
Dinaminio objekto masyvo užpildymas
Prieš paskelbdami masyvo dydį objekto masyvui, galite paskelbti, kad objektų masyvas yra dinamiškas, ir tada suskaičiuoti darbaknygės lapus.
1234567891011121314 | Antrasis testas „ObjArray“ ()'apibrėžti masyvą kaip darbalapio masyvąDim arWks () kaip darbalapis“suskaičiuokite, kiek failų yra darbalapių, ir iš naujo pritemdykite masyvąDim n Kaip sveikasis skaičiusDim i As Integer'suskaičiuokite lapus ir minus vienas, kad nustatytumėte masyvo ribasn = Taikymas. Lakštai. Skaičius - 1ReDim arWks (n)“užpildykite darbalapio masyvą visais darbalapio lapaisI = LBound (arWks) į UBound (arWks)Nustatykite arWks (i) = ActiveWorkbook. Lakštai (i + 1)Kitas I.Pabaiga Sub |
Pirmiau pateiktame pavyzdyje pirmiausia paskelbiame darbalapio masyvą. Tada mes suskaičiuojame darbo knygos lapų skaičių ir priskiriame šią reikšmę minus vienas masyvo UBound. Taip yra dėl to, kad masyvo LBound prasideda kaip 0. Galiausiai mes pereiname per lapus ir pridedame kiekvieną lapą prie masyvo.
Objektų masyvo naudojimas VBA kode
Užpildę darbalapio masyvą, mes galime naudoti VBA, norėdami peržvelgti masyvą.
123456789101112131415161718 | Antrasis testas „ObjArray“ ()'apibrėžti masyvą kaip darbalapio masyvąDim arWks () kaip darbalapis“suskaičiuokite, kiek failų yra darbalapių, ir iš naujo pritemdykite masyvąDim n Kaip sveikasis skaičiusDim i As Integer'suskaičiuokite lapus ir minus vienas, kad nustatytumėte masyvo ribasn = Taikymas. Lakštai. Skaičius - 1ReDim arWks (n)“užpildykite darbalapio masyvą visais darbalapio lapaisI = LBound (arWks) į UBound (arWks)Nustatykite arWks (i) = ActiveWorkbook. Lakštai (i + 1)Kitas I.„darykite ką nors kiekvienam masyvo lapuiI = LBound (arWks) į UBound (arWks)arWks (i). Diapazonas ("A1: H1"). Šriftas. Bold = tiesaKitas I.Pabaiga Sub |
Anksčiau pateiktame pavyzdyje mes perlenkiame masyvą ir paryškiname pirmąją kiekvieno masyvo lapo eilutę.