Tablica obiektów VBA

Spisie treści

Ten samouczek pokaże, jak tworzyć i używać tablic obiektów w VBA.

W języku VBA tablice są zmiennymi przechowującymi wiele wartości. Obiekty VBA można przechowywać w tablicach w taki sam sposób, jak inne dane.

Deklarowanie tablicy obiektów

W tym przykładzie zadeklarujemy tablicę arkuszy VBA:

1 Dim arWks(3) jako arkusz roboczy

Wypełnianie tablicy obiektów statycznych

Zadeklaruj, że tablica obiektów jest statyczna, a następnie możesz wypełnić tablicę arkuszami wybranymi ze skoroszytu.

12345678 SubTestObjArray()'zdefiniuj tablicę jako tablicę arkuszaDim arWks(1 do 3) jako arkusz roboczy'dodaj 3 arkusze do tablicyustaw arWks(1) = Arkusze(1)ustaw arWks(2) = Arkusze(2)Ustaw arWks(3) = Arkusze(3)Napis końcowy

Wypełnianie tablicy obiektów dynamicznych

Możesz zadeklarować, że tablica obiektów jest dynamiczna, a następnie policzyć arkusze w skoroszycie przed przypisaniem rozmiaru tablicy do tablicy obiektów.

1234567891011121314 SubTestObjArray()'zdefiniuj tablicę jako tablicę arkuszaDim arWks() jako arkusz roboczy'policz ile arkuszy roboczych w pliku i ponownie przyciemnij tablicęDim n jako liczba całkowitaDim i jako liczba całkowita'policz arkusze i minus jeden, aby ustawić granice tablicyn = Aplikacja.Arkuszy.Liczba - 1ReDim arWks(n)'wypełnij tablicę arkusza roboczego wszystkimi arkuszami w skoroszycieFor i = LBound(arWks) do UBound(arWks)Ustaw arWks(i) = ActiveWorkbook.Arkusze(i + 1)Dalej jaNapis końcowy

W powyższym przykładzie najpierw deklarujemy tablicę arkusza roboczego. Następnie liczymy liczbę arkuszy w skoroszycie i przypisujemy tę wartość minus jeden do UBound tablicy. Wynika to z faktu, że LBound tablicy zaczyna się od 0. Na koniec przechodzimy przez arkusze i dodajemy każdy arkusz do tablicy.

Używanie tablicy obiektów w kodzie VBA

Po wypełnieniu tablicy Worksheet możemy użyć VBA, aby przejść przez tablicę.

123456789101112131415161718 SubTestObjArray()'zdefiniuj tablicę jako tablicę arkuszaDim arWks() jako arkusz roboczy'policz ile arkuszy roboczych w pliku i ponownie przyciemnij tablicęDim n jako liczba całkowitaDim i jako liczba całkowita'policz arkusze i minus jeden, aby ustawić granice tablicyn = Aplikacja.Arkuszy.Liczba - 1ReDim arWks(n)'wypełnij tablicę arkusza roboczego wszystkimi arkuszami w skoroszycieFor i = LBound(arWks) do UBound(arWks)Ustaw arWks(i) = ActiveWorkbook.Arkusze(i + 1)Dalej ja'zrób coś z każdym arkuszem w tablicyFor i = LBound(arWks) do UBound(arWks)arWks(i).Range("A1:H1").Czcionka.Pogrubienie = PrawdaDalej jaNapis końcowy

W powyższym przykładzie wykonujemy pętlę przez tablicę i pogrubiamy pierwszy wiersz każdego arkusza w tablicy.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave