VBA Array of Objects

Indholdsfortegnelse

Denne vejledning viser, hvordan du opretter og bruger arrays af objekter i VBA.

I VBA er arrays variabler, der gemmer flere værdier. Du kan gemme VBA -objekter i arrays på samme måde, som du ville gemme andre data.

Angivelse af objektarray

I dette eksempel vil vi erklære en vifte af VBA -regneark:

1 Dim arWks (3) Som regneark

Befolkning af et statisk objektarray

Angiv objektarrayet til at være statisk, og derefter kan du udfylde arrayet med de ark, du vælger fra din projektmappe.

12345678 Sub TestObjArray ()'definer arrayet som et regnearksarrayDim arWks (1 til 3) som regneark'tilføj 3 ark i arrayetsæt arWks (1) = Ark (1)sæt arWks (2) = Ark (2)Indstil arWks (3) = Ark (3)Afslut Sub

Befolkning af et dynamisk objektarray

Du kan erklære Objektarrayet for at være dynamisk og derefter tælle arkene i projektmappen, før du tildeler arraystørrelsen til Object Array.

1234567891011121314 Sub TestObjArray ()'definer arrayet som et regnearksarrayDim arWks () Som regneark'tæl hvor mange regneark i filen, og dæmp arrayet igenDim n Som heltalDim i As Integer'tæl arkene og minus et for at angive grænserne for arrayetn = Application.Sheets.Count - 1ReDim arWks (n)'udfyld regnearksarrayet med alle arkene i projektmappenFor i = LBound (arWks) til UBound (arWks)Indstil arWks (i) = ActiveWorkbook.Sheets (i + 1)Næste iAfslut Sub

I eksemplet ovenfor erklærer vi først regnearksarrayet. Vi tæller derefter antallet af ark i projektmappen og tildeler denne værdi minus en til arrayets UBound. Dette skyldes det faktum, at arrayets LBound starter som 0. Endelig går vi gennem arkene og tilføjer hvert ark til arrayet.

Brug af Object Array i VBA -kode

Når vi har udfyldt regnearks -arrayet, kan vi bruge VBA til at gå igennem arrayet.

123456789101112131415161718 Sub TestObjArray ()'definer arrayet som et regnearksarrayDim arWks () Som regneark'tæl hvor mange regneark i filen, og dæmp arrayet igenDim n Som heltalDim i As Integer'tæl arkene og minus et for at angive grænserne for arrayetn = Application.Sheets.Count - 1ReDim arWks (n)'udfyld regnearksarrayet med alle arkene i projektmappenFor i = LBound (arWks) til UBound (arWks)Indstil arWks (i) = ActiveWorkbook.Sheets (i + 1)Næste i'gør noget ved hvert ark i arrayetFor i = LBound (arWks) til UBound (arWks)arWks (i) .Range ("A1: H1"). Font.Bold = TrueNæste iAfslut Sub

I eksemplet ovenfor går vi igennem arrayet og fed den første række i hvert ark i arrayet.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave