Zbirka je podatkovni tip, v katerem so shranjeni predmeti tako kot matrike (vendar različne). Med pisanjem osnovnih kod VBA ste morali uporabljati delovne zvezke, delovne liste, obsege itd. Vse so zbirke. V tem članku bomo spoznali zbirke VBA.
Kaj je zbirka v VBA?
Zbirka je podatkovni tip, ki shranjuje podobne predmete, tako kot matrike.
Toda za razliko od nizov se lahko njegova velikost glede na zahtevo dinamično poveča ali zmanjša.
Elemente iz zbirk lahko dodajate, iščete, pridobivate in brišete.
Za razliko od nizov ne morete spreminjati vrednosti elementov v zbirkah. Če želite, uporabite matrike kot element v zbirki.
Zbirka ima s seboj povezane 4 lastnosti ali metode.
Zbirka.Dodaj zbirko.Zbirka predmetov.Zbirka števcev.Odstrani
V tem članku bomo raziskali uporabo teh lastnosti.
Kako ustvariti zbirko v VBA?
Zbirka je predmet, zato jo je treba razglasiti in inicializirati. Kot vsak drug objekt v VBA obstajata dva načina za ustvarjanje zbirke v VBA.
1. Takojšnje ustvarjanje
Zatemni predmete kot novo zbirko
Pri zgornji metodi je objekt takoj ustvarjen. To zbirko lahko takoj začnete uporabljati za svoje potrebe.
2. Odloženo ustvarjanje
Zatemni predmete kot elemente zbirke = nova zbirka
Pri tej metodi najprej ustvarimo referenco zbirke in po potrebi inicializiramo z objektom zbirke. S to metodo se lahko odločite za ustvarjanje zbirke na podlagi nekaterih meril.
Dodajanje predmetov v zbirko (Collection.Add)
Za dodajanje novih elementov v zbirko uporabljamo metodo Add.
items.Add "Apple"
Zgornja koda bo v zbirko dodala niz "Jabolka".
Dodajte 1.4
Zgornja koda bo dodala dvojno 1,4 na konec zbirke.
Do teh postavk lahko tudi definiramo ključe. S temi ključi lahko dostopate do zbirk.
Vstavljanje predmetov v zbirko pred ali po obstoječem predmetu
Metoda Add doda nove elemente na koncu zbirke.
Metoda dodajanja ima štiri parametre.
Dodaj (element, [ključ], [pred], [po])
Prvi argument je potreben. To je predmet ali želite dodati v zbirko. Argumenti za počitek so neobvezni. V tem razdelku bomo videli uporabo teh argumentov.
Če želimo pred ali po nekem pertikularnem indeksu/ključu dodati kakšen element, potem uporabimo parametre Pred in Po metodi Dodaj.
items.Add True, "b", "cnst" 'Ali items.Add True, Before: = "cnst"
Obe vrstici bosta vnesli logično vrednost pred ključem "cnst" v postavkah zbirke VBA.
Za vstavljanje predmeta po pertikularnem indeksu/postavki/ključu uporabimo parameter After metode Add.
'vstavljanje "Mango" s ključem "m" za ključnimi elementi "cnst". Dodajte "Mango", Ključ: = "m", za: = "b"
Zgoraj vrstica bo za tipko "b" vstavila "Mango" s tipko "m".
Opomba: Ključi predmetov morajo biti edinstveni. Vsi ključi, ki že obstajajo v zbirki, ne bodo sprejeti. VBA bo vrnil napako, da je "ključ že povezan z elementom te zbirke".
To lahko uporabimo za našo pridobitev edinstvenega seznama iz zbirke.
Dostop do zbirk (Collection.Item)
Dostop do postavk zbirke obstaja na dva načina.
- CollectionName ("indeks/ključ")
- CollectionName.Item ("indeks/ključ")
Na primer za dostop do člana v zbirki predmetov pri indeksu 1 in ključu "apl" lahko uporabim katero koli od spodnjih kod VBA.
Debug.Print items.Item (1) - Debug.Print items (1) - Debug.Print items.Item ("apl") - Debug.Print items ("apl")
Kako pridobiti število predmetov v zbirki? (Zbirka. Število)
Za zbiranje skupnega števila predmetov ali predmetov v zbirki uporabljamo funkcijo .Count zbirke. Metoda .Count vrne skupno število elementov v zbirki.
Predmeti. Štetje
Zgornja vrstica bo prikazala število predmetov, ki jih ima zbirka.
Kako dostopati do vseh predmetov zbirke?
Edini način za dostop do vseh elementov zbirke v VBA so zanke. Za dostop do njih pregledujemo vsak predmet zbirke. Za to uporabljamo zanko for. Zanka za vsako velja za najhitrejši in najčistejši način dostopa do zbirnih objektov.
Ponavljanje zbirke v VBA
Zbiranje v VBA lahko izvajate na različne načine. Za ponovitev po zbirki bomo uporabili najbolj elegantno za vsako zanko.
Preveč krožite skozi vsak element zbirke, samo uporabite to vrstico kode VBA.
Za vsak predmet V postavkah Debug.Natisni ga Naprej itm
Odstranjevanje predmetov iz zbirke (Collection.Remove)
Za odstranitev predmeta iz zbirke vba lahko uporabimo metodo Odstrani. Odstranitvena metoda ima en argument. Lahko je indeks ali ključ predmeta (če je na voljo).
items.Remove (1) 'using index - items.Remove 1 - items.Remove ("apl")' using key - items.Odstrani "apl"
Brisanje zbirke v VBA
No, zbirke v vba ne morete izbrisati. Vse elemente te zbirke pa lahko odstranite tako, da jo znova nastavite kot novo zbirko.
Set items = Nova zbirka
Ta vrstica kode bo ustvarila novo zbirko na naslovu postavk. Tako bo naša zbirka izpraznjena.
Array vs Collection v VBA
Niz |
Zbirka |
Tako da fantje, to je osnova zbirk. Zbirka VBA v pisarniških orodjih ima številne prednosti in uporabe. Skupaj jih bomo raziskali. Do takrat, če imate kakršna koli vprašanja v zvezi z zbiranjem ali karkoli v zvezi z Excelom/VBA, napišite v spodnjem razdelku za komentarje.