Kako koristiti VBA zbirke u Excelu

Anonim


Zbirka je tip podataka koji čuva objekte kao i nizove (ali različite). Prilikom pisanja osnovnih VBA kodova morali ste koristiti radne bilježnice, radne listove, raspone itd. Sve su to zbirke. U ovom ćemo članku naučiti o VBA zbirkama.
Što je zbirka u VBA -i?
Zbirka je vrsta podataka koja pohranjuje sličnu vrstu objekata isto kao i nizovi.

No, za razliku od niza, njegova se veličina može dinamički povećavati ili smanjivati ​​prema zahtjevu.

Možete dodavati, pronaći, dohvatiti i izbrisati stavke iz zbirki.

Za razliku od niza, ne možete mijenjati vrijednosti stavki u zbirkama. Ako želite, koristite nizove kao stavku u zbirci.

Zbirka ima 4 svojstva ili metode povezane s njom.

 Zbirka.Dodaj zbirku.Zbirka stavki.Zbirka brojeva.Ukloni 

Kroz ovaj članak će se istražiti uporaba ovih svojstava.
Kako stvoriti zbirku u VBA -u?
Zbirka je objekt pa ju je potrebno deklarirati i inicijalizirati. Kao i svaki drugi objekt u VBA -i, postoje dvije metode stvaranja zbirke u VBA -i.
1. Trenutna kreacija

Zatamnite stavke kao novu kolekciju

U gornjoj metodi, objekt se trenutno stvara. Ovu zbirku možete odmah početi koristiti za svoje zahtjeve.

2. Odgođeno stvaranje

 Zatamnite stavke kao stavke Skup zbirke = Nova zbirka 

U ovoj metodi prvo stvaramo referencu zbirke, a kada je potrebno inicijaliziramo objektom zbirke. Pomoću ove metode možete odabrati stvaranje zbirke na temelju nekih kriterija.

Dodavanje stavki u zbirku (Collection.Add)
Metodom dodavanja dodajemo nove stavke u zbirku.

items.Add "Apple"

Gornji kôd će dodati niz "Jabuke" u zbirku.

stavke.Dodaj 1.4

Gornji kôd će dodati dvostruki 1,4 na kraj zbirke.

Također možemo definirati ključeve za te stavke. Ti se ključevi mogu koristiti za pristup stavkama u zbirci.

Umetanje stavki u zbirku prije ili poslije postojeće stavke

Metoda Add dodaje nove stavke na kraju zbirke.

Metoda dodavanja ima četiri parametra.

Dodaj (stavka, [Ključ], [Prije], [Nakon])

Prvi argument je neophodan. To je objekt ili koji želite dodati u zbirku. Ostali argumenti nisu obavezni. Upotrebu ovih argumenata vidjet ćemo u ovom odjeljku.

Ako želimo dodati neku stavku prije ili poslije nekog pertikularnog indeksa/ključa, tada koristimo parametre Prije i Nakon metode Add.

items.Add True, "b", "cnst" 'Ili items.Add True, Before: = "cnst"

Obje linije umetnut će logičku vrijednost prije ključa "cnst" u stavkama VBA zbirke.

Za umetanje stavke nakon pertikularnog indeksa/stavke/ključa koristimo After parameter metode Add.

'umetanje "Manga" s ključem "m" iza stavki "cnst" ključa. Dodajte "Mango", Ključ: = "m", iza: = "b"

Iznad linije umetnut će se "Mango" s ključem "m" iza tipke "b".

Bilješka: Ključevi predmeta trebaju biti jedinstveni. Bilo koji ključ koji već postoji u zbirci neće biti prihvaćen. VBA će vratiti pogrešku da je "ključ već povezan s elementom ove zbirke".

Ovo možemo iskoristiti za našu prednost i dobiti jedinstveni popis iz zbirke.
Pristup zbirkama (Collection.Item)

Postoje dvije metode pristupa stavkama zbirke.

  1. CollectionName ("indeks/ključ")
  2. CollectionName.Item ("indeks/ključ")

Na primjer, za pristup članu u zbirci stavke na indeksu 1 i ključu "apl" mogu koristiti bilo koji od dolje navedenih VBA kodova.

Debug.Print items.Item (1) - Debug.Print items (1) - Debug.Print items.Item ("apl") - Debug.Print items ("apl")


Kako doći do broja predmeta u zbirci? (Zbirka. Broj)
Da bismo dobili ukupan broj objekata ili stavki u zbirci, koristimo funkciju .Count zbirke. Metoda .Count vraća ukupan broj stavki u zbirci.

 stavke.Broj

Gornji redak će dati broj objekata koje zbirka ima.

Kako pristupiti svim stavkama zbirke?

Jedini način pristupa svim stavkama zbirke u VBA su petlje. Ponavljamo svaku stavku zbirke kako bismo im pristupili. Za to koristimo for loop. Petlja za svaku se smatra najbržim i najčišćim načinom pristupa objektima zbirke.
Ponavljanje zbirke u VBA -i

Postoje različiti načini prolaska kroz zbirku u VBA -i. Za ponavljanje zbirke koristit ćemo najelegantnije za svaku petlju.

Previše petlje kroz svaku stavku zbirke samo upotrijebite ovaj redak VBA koda.

Za svaku stavku U stavkama Otklanjanje pogrešaka. Ispišite je Sljedeća stavka


Uklanjanje stavki iz zbirke (Collection.Remove)

Za uklanjanje stavke iz vba zbirke možemo koristiti metodu Remove. Metoda remove uzima jedan argument. To može biti indeks ili ključ stavke (ako je dostupna).

items.Remove (1) 'pomoću indeksa - items.Remove 1 - items.Remove ("apl")' pomoću ključa - items.Remove "apl"

Brisanje zbirke u VBA

Pa, ne možete izbrisati zbirku u vba. Međutim, sve stavke te zbirke možete ukloniti ponovnim postavljanjem kao novu zbirku.

Postavite stavke = Nova kolekcija

Ovaj redak koda stvorit će novu zbirku na adresi stavki. Stoga će se naša zbirka isprazniti.

Array vs Collection u VBA

    Niz

  1. Veličina polja je unaprijed definirana. Veličina polja se ne može normalno promijeniti.
  2. Nizovi mogu sadržavati samo istu vrstu podataka, a tip se mora prvo deklarirati.
  3. Indeksiranje u nizu počinje od 0
  4. Članovi niza nemaju pridruženi ključ.
  5. Nizovi su promjenjivi. Možete promijeniti vrijednosti njegovih članova.

    Kolekcija

  1. Veličina zbirke se mijenja kako se stavke dodaju ili uklanjaju.
  2. Zbirka može sadržavati bilo koji broj podataka. Kao što ste vidjeli u gornjim primjerima.
  3. Indeksiranje u VBA zbirci počinje od 1.
  4. Članovi zbirke mogu imati povezane ključeve.
  5. Zbirke su nepromjenjive. Ne možete izravno promijeniti vrijednosti njegovih članova.

Pa da, dečki, ovo su osnove zbirki. Postoje mnoge prednosti i upotrebe VBA kolekcije u uredskim alatima. Zajedno ćemo ih istražiti. Do tada, ako imate bilo kakvih upita u vezi prikupljanja ili bilo čega što je vezano za Excel/VBA, napišite u donjem odjeljku komentara.