Ovaj će vodič pokazati kako stvoriti i koristiti nizove objekata u VBA -i.
U VBA -i, nizovi su varijable koje spremaju više vrijednosti. VBA objekte možete pohraniti u nizove na isti način na koji biste spremili sve ostale podatke.
Deklariranje niza objekata
U ovom primjeru deklarirat ćemo niz VBA radnih listova:
1 | Zatamnjeni arWK -ovi (3) Kao radni list |
Populacija niza statičkih objekata
Proglasite niz objekata statičkim, a zatim možete popuniti niz listovima koje odaberete iz radne knjige.
12345678 | Pod testObjArray ()'definirati polje kao polje radnog listaZatamnite arWK -ove (1 do 3) kao radni list'dodajte 3 lista u nizset arWks (1) = Listovi (1)set arWks (2) = Listovi (2)Postavi arWks (3) = Listovi (3)Kraj podm |
Popunjavanje niza dinamičkih objekata
Objektni niz možete proglasiti dinamičkim, a zatim prebrojati listove u radnoj knjizi prije nego što veličinu polja dodijelite nizu objekata.
1234567891011121314 | PodispitObjArray ()'definirati polje kao polje radnog listaDim arWks () Kao radni list'izbrojite koliko radnih listova u datoteci i ponovno zatamnite poljeDim n kao cijeli brojDim i Kao cijeli broj'izbrojite listove i minus jedan za postavljanje granica za nizn = Aplikacija. Tablice.Broj - 1ReDim arWK (n)'ispunite niz radnih listova svim listovima u radnoj knjiziZa i = LBound (arWks) do UBound (arWks)Postavi arWks (i) = ActiveWorkbook.Sheets (i + 1)Sljedeći iKraj podm |
U gornjem primjeru prvo deklariramo niz radnih listova. Zatim računamo broj listova u radnoj knjizi i dodjeljujemo tu vrijednost minus jedan UBoundu niza. To je zbog činjenice da LBound matrice započinje kao 0. Konačno, prolazimo kroz listove i dodajemo svaki list u niz.
Korištenje niza objekata u VBA kodu
Nakon što smo popunili niz radnih listova, možemo koristiti VBA za petlju kroz niz.
123456789101112131415161718 | Pod testObjArray ()'definirati polje kao polje radnog listaDim arWks () Kao radni list'izbrojite koliko radnih listova u datoteci i ponovno zatamnite poljeDim n kao cijeli brojDim i Kao cijeli broj'izbrojite listove i minus jedan za postavljanje granica za nizn = Aplikacija. Tablice.Broj - 1ReDim arWK (n)'ispunite niz radnih listova svim listovima u radnoj knjiziZa i = LBound (arWks) za UBound (arWks)Postavi arWks (i) = ActiveWorkbook.Sheets (i + 1)Sljedeći i'učiniti nešto sa svakim listom u nizuZa i = LBound (arWks) do UBound (arWks)arWks (i) .Range ("A1: H1"). Font.Bold = TrueSljedeći iKraj podm |
U gornjem primjeru prolazimo kroz niz i podebljamo prvi red svakog lista u nizu.