Obiekt kolekcji Excel VBA

Widzieliśmy, że słownik VBA i macierz VBA mają podobne połączenie z kolekcją VBA. W VBA Collection możemy stworzyć własną kolekcję grupy oraz podać przedmiot i klucz, aby uzyskać pod nią wartość. Podczas gdy w VBA Dictionary tworzyliśmy sam słownik w VBA, który tworzy nasz własny słownik, który ma definicję słowa i wartości, jak w zwykłym słowniku. Podobnie jest w przypadku VBA Array, gdzie kiedyś tworzyliśmy obiekt kolekcji o ograniczonym rozmiarze.

Zaletą VBA Collection jest to, że nie musimy zwiększać rozmiaru dowolnego obiektu, który tutaj zdefiniujemy. Każdy obiekt utworzony w VBA Collection nie ma żadnych ograniczeń. I nie musimy zmieniać wielkości żadnego obiektu, tak jakbyśmy tego potrzebowali.

Wraz z utworzeniem obiektu Dodaj kolekcję, możemy również używać obiektów Count, Item i Remove.

Jak utworzyć obiekt kolekcji w programie Excel VBA?

Poniżej znajdują się różne przykłady tworzenia obiektu kolekcji w programie Excel za pomocą kodu VBA.

Możesz pobrać ten szablon Excel Kolekcja VBA tutaj - Szablon Excel Kolekcja VBA

Kolekcja Excel VBA - przykład nr 1

W tym przykładzie zobaczymy, jak utworzyć kolekcję obiektów w VBA. W tym celu wykonaj następujące kroki:

Krok 1: Przejdź do okna VBA, w zakładce menu Wstaw wybierz Moduł, jak pokazano poniżej.

Krok 2: Napisz podkategorię VBA Collection pod tą samą nazwą lub możemy wybrać dowolną inną nazwę według naszej wygody.

Kod:

 Sub Excel_Collection1 () End Sub 

Krok 3: Teraz zdefiniuj zmienną jako Kolekcja w dowolnej nazwie, jak pokazano poniżej.

Kod:

 Sub Excel_Collection1 () Dim ColObject As Collection End Sub 

Możemy wybrać dowolne słowo, tekst lub nazwę definiującą zmienną, ale zaleca się zdefiniowanie tego w procesie wykonywania funkcji w pierwszej kolejności.

Krok 4: Ustaw zdefiniowaną zmienną jako Nowa kolekcja. Pomoże to w aktywacji i ustawieniu już zdefiniowanego obiektu jako Kolekcja na Nowa kolekcja.

Kod:

 Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = Nowa kolekcja End Sub 

Krok 5: Widzieliśmy w opisie różnych obiektów kolekcji takie jak Add, Ite , Count i Remove . Teraz wykorzystamy wszystkie te obiekty do przechowywania nowej zawartości. Najpierw dodamy ADD do zdefiniowanej zmiennej ColObject .

Kod:

 Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = Nowa kolekcja ColObject.Add End Sub 

Krok 6: Teraz w ramach POZYCJI wybierzemy kolejny numer, który może być dowolny. Tutaj wybieramy go jako 1.

Kod:

 Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = Nowa kolekcja ColObject.Dodaj element: = 1, End Sub 

Krok 7: W składni kolekcji VBA musimy wprowadzić KLUCZ, do którego możemy przypisać POZYCJĘ. Tutaj również możemy wybrać wszystko, co zostanie dodane do repozytorium VBA. Rozważaliśmy tutaj słowo Newton .

Kod:

 Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = Nowa kolekcja ColObject.Dodaj element: = 1, Klucz: = „Newton” End Sub 

Krok 8: Możemy pominąć część Składni Przed i Po. Teraz przypiszemy klucz do zmiennej obiektu Collection.

Kod:

 Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = Nowa kolekcja ColObject.Dodaj element: = 1, Klucz: = „Newton” ColResult = ColObject („Newton”) End Sub 

Krok 9: Użyj okna komunikatu, aby zobaczyć wartość przechowywaną w zmiennej obiektu Collection.

Kod:

 Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = Nowa kolekcja ColObject.Dodaj element: = 1, Key: = "Newton" ColResult = ColObject ("Newton") MsgBox ColResult End Sub 

Krok 10: Teraz skompiluj kod i uruchom go, klikając przycisk Odtwórz znajdujący się pod paskiem menu.

Otrzymamy wiadomość jako 1. Co oznacza, że ​​dla klucza Newtona pozycja znajduje się na 1. pozycji.

Kolekcja Excel VBA - przykład nr 2

Istnieje inna metoda lub sposób, dzięki któremu możemy zobaczyć, jaki numer przedmiotu jest przypisany do jakiego klucza. Możemy również policzyć liczbę kluczy wypełnionych w obiekcie VBA Collection. Ten proces jest dość podobny do procesu, który widzieliśmy w przykładzie 1. W tym celu wykonaj następujące kroki:

Krok 1: Napisz podkategorię kolekcji VBA, jak pokazano poniżej.

Kod:

 Sub Excel_Collection2 () End Sub 

Krok 2: Rozważ tę samą zmienną, którą widzieliśmy w przykładzie-1 jako Collection i ustaw ją jako New Collection jako ColObject.

Kod:

 Sub Excel_Collection2 () Dim ColObject As Collection Set ColObject = Nowa kolekcja End Sub 

ColObject jest jedyną zmienną w tym przykładzie, ponieważ dzięki tej pomocy zobaczymy liczbę lub sekwencję definiowania pozycji i klucza.

Krok 3: Teraz do zdefiniowanego obiektu kolekcji przypisz funkcję DODAJ i wybierz dowolną wartość według własnego wyboru. Tutaj wybieramy 10.

Kod:

 Sub Excel_Collection2 () Dim ColObject As Collection Set ColObject = Nowa kolekcja ColObject.Add 10 End Sub 

Krok 4: Podobnie dodaj 2 lub 3 kolejne obiekty kolekcji, jak pokazano poniżej.

Kod:

 Sub Excel_Collection2 () Dim ColObject As Collection Set ColObject = Nowa kolekcja ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 End Sub 

Krok 5: Aby poznać liczbę elementów używanych w obiekcie kolekcji, użyjemy drukowania debugowania.

Kod:

 Sub Excel_Collection2 () Dim ColObject As Collection Set ColObject = Nowa kolekcja ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print End Sub 

Ważnym plusem użycia drukowania debugowania tutaj zamiast pola Wiadomość jest to, że moglibyśmy uzyskać liczbę wraz z błędem, jeśli taki istnieje. Za każdy błąd otrzymamy wynik jako Zero i podczas gdy dla prawidłowego procesu otrzymamy rzeczywistą wartość.

Krok 6: Aby uzyskać liczbę zmiennych ColObject, użyjemy funkcji Count, która jest częścią wbudowanej funkcji na liście.

Kod:

 Sub Excel_Collection2 () Dim ColObject As Collection Set ColObject = Nowa kolekcja ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print ColObject.Count End Sub 

Krok 7: Z opcji menu Widok wybierz okno Natychmiastowe, jak pokazano poniżej. Lub możemy użyć klawisza skrótu jako Ctrl + G, aby uzyskać to okno.

To miejsce, w którym będziemy oglądać dane wyjściowe za pomocą drukowania debugowania.

Krok 8: Teraz skompiluj kod i uruchom go, klikając przycisk Odtwórz znajdujący się pod paskiem menu. W bezpośrednim oknie zobaczymy liczbę wszystkich kolekcji obiektów wynoszącą 3 .

Teraz, aby sprawdzić, czy uzyskana liczba jest poprawna, czy nie, usuniemy jeden wiersz obiektu kolekcji lub przekonwertujemy go na tekst, umieszczając apostrof (') i ponownie uruchommy kod.

Otrzymamy zaktualizowaną liczbę jako 2, która jest liczbą obiektu kolekcji 10 i 20 Numer produktu. I możemy zauważyć, że trzecia linia obiektu kolekcji ma kolor zielony i jest to znak przekonwertowania kodu na tekst.

Plusy kolekcji Excel VBA

  • Nie musimy zmieniać rozmiaru zdefiniowanego obiektu.
  • Możemy używać różnych obiektów Collection, które są wbudowane w excel VBA Collection. Obiekty te nie są widoczne w innych funkcjach, takich jak VBA Dictionary lub VBA Array.
  • Dzięki VBA Collection możemy również tworzyć bazy danych klientów i produktów dowolnego typu.

Rzeczy do zapamiętania

  • Zaleca się stosowanie drukowania debugowania zamiast okna komunikatu. Dzięki temu moglibyśmy zobaczyć błąd i go naprawić.
  • Dzięki kolekcji VBA możemy różnego rodzaju obiekty i dodawać dowolne rozmiary danych.
  • W funkcji obiektu Przedmiot możemy zdefiniować dowolną liczbę według naszego wyboru. Może to być kod produktu, sekwencja lub cena, które chcemy zobaczyć.
  • Zapisanie pliku w programie Excel umożliwiającym włączenie Excela pozwoli nam zachować kod do dalszego wykorzystania.

Polecane artykuły

To jest przewodnik po kolekcji VBA. Tutaj omawiamy sposób tworzenia obiektu Collection w Excelu za pomocą kodu VBA wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Przewodnik po użyciu długości tablicy VBA
  2. Jak obliczyć zakres w programie Excel?
  3. Samouczki na temat komórek VBA
  4. PowerPivot w programie Excel

Kategoria: