Niz predmetov VBA

Kazalo

Ta vadnica bo pokazala, kako ustvariti in uporabiti nizov predmetov v VBA.

V VBA so nizi spremenljivke, ki shranjujejo več vrednosti. Objekte VBA lahko shranite v matrike na enak način kot vse druge podatke.

Razglasitev niza objektov

V tem primeru bomo razglasili niz delovnih listov VBA:

1 Zatemni arWks (3) kot delovni list

Napolnite niz statičnih objektov

Objektni niz označite za statičnega, nato pa lahko matriko zapolnite z listi, ki jih izberete v svojem delovnem zvezku.

12345678 Sub TestObjArray ()'opredelite matriko kot matriko delovnega listaZatemni arWKS (1 do 3) kot delovni list'dodajte 3 liste v matrikoset arWks (1) = Listi (1)set arWks (2) = Listi (2)Set arWks (3) = Sheets (3)End Sub

Zapolnitev niza dinamičnih objektov

Objektni niz lahko razglasite za dinamičnega in nato preštejete liste v delovnem zvezku, preden velikost matrike dodelite matriki objektov.

1234567891011121314 Sub TestObjArray ()'opredelite matriko kot matriko delovnega listaZatemni arWks () kot delovni list'preštejte, koliko delovnih listov je v datoteki, in matrico znova zatemniteDim n kot celo številoDim i kot celo število'štejte liste in minus ena, da nastavite meje matriken = Application.Sheets.Count - 1REDIM ARWKS (n)'napolnite polje delovnega lista z vsemi listi v delovnem zvezkuZa i = LBound (arWks) do UBound (arWks)Nastavi arWks (i) = ActiveWorkbook.Sheets (i + 1)Naprej iEnd Sub

V zgornjem primeru najprej razglasimo niz delovnih listov. Nato štejemo število listov v delovnem zvezku in to vrednost minus eno dodelimo UBound matrike. To je posledica dejstva, da se LBound matrike začne kot 0. Nazadnje prelistamo liste in vsak list dodamo v matriko.

Uporaba matrike objektov v kodi VBA

Ko smo napolnili matriko delovnega lista, lahko z uporabo VBA prečkamo matriko.

123456789101112131415161718 Sub TestObjArray ()'opredelite matriko kot matriko delovnega listaZatemni arWks () kot delovni list'preštejte, koliko delovnih listov je v datoteki, in matrico znova zatemniteDim n kot celo številoDim i kot celo število'štejte liste in minus ena, da nastavite meje matriken = Application.Sheets.Count - 1REDIM ARWKS (n)'napolnite polje delovnega lista z vsemi listi v delovnem zvezkuZa i = LBound (arWks) do UBound (arWks)Nastavi arWks (i) = ActiveWorkbook.Sheets (i + 1)Naprej i"naredite nekaj za vsak list v matrikiZa i = LBound (arWks) do UBound (arWks)arWks (i) .Range ("A1: H1"). Font.Bold = TrueNaprej iEnd Sub

V zgornjem primeru prečkamo matriko in krepimo prvo vrstico vsakega lista v matriki.

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave