See õpetus näitab, kuidas VBA -s objektide massiive luua ja kasutada.
VBA -s on massiivid muutujad, mis salvestavad mitu väärtust. Saate VBA -objekte massiividesse salvestada samamoodi nagu muid andmeid.
Objekti massiivi deklareerimine
Selles näites deklareerime massiivi VBA töölehti:
1 | Dim arWks (3) Töölehena |
Staatilise objekti massiivi täitmine
Kuulutage objekti massiiv staatiliseks ja seejärel saate massiivi täita töövihikust valitud lehtedega.
12345678 | AlamkatseObjArray ()'määratlege massiiv töölehe massiivinaDim arWks (1 kuni 3) töölehena'lisage massiivi 3 lehteset arWks (1) = lehed (1)set arWks (2) = lehed (2)Määra arWks (3) = lehed (3)End Sub |
Dünaamilise objekti massiivi täitmine
Saate kuulutada objekti massiivi dünaamiliseks ja loendada töövihiku lehed enne massiivi suuruse määramist objekti massiivile.
1234567891011121314 | AlamkatseObjArray ()'määratlege massiiv töölehe massiivinaDim arWks () töölehena'loendage, kui palju töölehti failis on, ja hämardage massiivi uuestiDim n Nagu täisarvDim i As täisarv'loendage lehed ja miinus üks, et määrata massiivi piiridn = Rakendus. Lehed. Loend - 1ReDim arWks (n)'täitke töölehtede massiiv kõigi töövihiku lehtedegaI = LBound (arWks) kuni UBound (arWks)Määra arWks (i) = ActiveWorkbook. Lehed (i + 1)Edasi iEnd Sub |
Ülaltoodud näites deklareerime kõigepealt töölehe massiivi. Seejärel loendame töövihiku lehtede arvu ja määrame selle väärtuse miinus üks massiivi UBound -le. See on tingitud asjaolust, et massiivi LBound algab 0. Lõpuks teeme lehtedest silmuse ja lisame iga lehe massiivi.
Objektimassiivi kasutamine VBA koodis
Kui oleme töölehe massiivi täitnud, saame massiivi läbimiseks kasutada VBA -d.
123456789101112131415161718 | AlamkatseObjArray ()'määratlege massiiv töölehe massiivinaDim arWks () töölehena'loendage, kui palju töölehti failis on, ja hämardage massiivi uuestiDim n Nagu täisarvDim i As täisarv'loendage lehed ja miinus üks, et määrata massiivi piiridn = Rakendus. Lehed. Loend - 1ReDim arWks (n)'täitke töölehtede massiiv kõigi töövihiku lehtedegaI = LBound (arWks) kuni UBound (arWks)Määra arWks (i) = ActiveWorkbook. Lehed (i + 1)Edasi i'tehke midagi massiivi igale leheleI = LBound (arWks) kuni UBound (arWks)arWks (i). Vahemik ("A1: H1"). Font.Bold = TrueEdasi iEnd Sub |
Ülaltoodud näites teeme massiivi läbi silmuse ja paksendame massiivi iga lehe esimest rida.