VBA-kokoelma | Kuinka luoda keruuobjekti VBA: ssa?

Excel VBA -kokoelmaobjekti

VBA-koodauksessa voimme luoda omia kokoelmaryhmiä lukuun ottamatta olemassa olevaa yhden ryhmän kokoelmaa. Monissa artikkeleissamme olemme puhuneet objektimuuttujista, ja tässä opetusohjelmassa käymme läpi VBA-kokoelmaobjektin yksityiskohtaisesti.

Jos olet käynyt läpi edellisen artikkelimme "VBA-taulukot", niin sinun on paljon helpompi ymmärtää. Taulukoita käytetään muuttujien ryhmittelemiseen yhden katon alle, vastaavasti kokoelmaa käytetään myös muuttujien ryhmän tallentamiseen.

Kokoelmia käytetään esineiden tallentamiseen. Ne ovat paljon joustavampia kuin VBA-matriisit, kun taas matriiseilla on kiinteä kokorajoitus, mutta kokoelmilla ei ole kiinteää kokorajoitusta milloin tahansa, eivätkä ne vaadi manuaalista koon muuttamista.

VBA-kokoelma on hyvin samanlainen kuin “VBA Dictionary”, mutta sanakirja vaatii ulkoisen objektiviitteen asettamista sen objektiviittausikkunaan. VBA-sanakirjan kanssa meidän on asetettava viitetyypiksi "Microsoft Scripting Runtime", mutta kokoelma ei vaadi mitään näistä lisälaitteista.

Kuinka luoda keruuobjekti VBA: ssa?

Keräämisen aloittamiseksi meidän on ensin ilmoitettava muuttuja nimellä "Kokoelma".

Voit ladata tämän VBA Collection Excel -mallin täältä - VBA Collection Excel -malli

Koodi:

 Alakokoelma_esimerkki () Dim Col As Collection End Sub 

Koska kokoelma on objektimuuttuja, meidän on asetettava objektiviite luomalla uusi ilmentymä.

Koodi:

 Alakokoelma_esimerkki () Dim Col As Collection Set Col = New Collection End Sub 

Muuttujan avulla voimme nyt käyttää kaikkia muuttujan ”Col” menetelmiä.

Koodi:

 Alakokoelma_esimerkki () Himmennetty sarake kokoelmasarjana = Uusi kokoelma sarake Lopeta alaruutu 

Ennen näiden menetelmien käyttöä meidän on ilmoitettava muuttuja merkkijonona.

Koodi:

 Alakokoelma_esimerkki () Himmennetty sarake kokoelmasarjan sarakkeena = Uusi kokoelma Himmennä ColResult merkkijonona loppu Alal 

Käytä nyt muuttujaa "Col" ja valitse "Lisää" -menetelmä.

Koodi:

 Alakokoelma_esimerkki () Dim Col As Collection Set Col = New Collection Col. Add End Sub 

Lisää-menetelmällä meillä on tiettyjä parametreja. Oletetaan, että tallennamme mobiilimerkkejä niiden keskimääräisellä myyntihinnalla markkinoilla.

Alle Kohta, argumentti menee hinta mobiili.

Koodi:

 Alakokoelma_esimerkki () Dim Col As Collection Set Col = New Collection Col. Add Item: = 15000, End Sub 

Seuraavaksi alla Key argumentti anna mobiili tuotemerkki.

Koodi:

 Alakokoelma_esimerkki () Dim Col As Collection Set Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" End Sub 

Nyt muuttujalle ”ColResult” tallennetaan objektimuuttujan ”Col” tulos.

Koodi:

 Alakokoelma_esimerkki () Dim Col As Collection Set Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col (End Sub 

Kun avaat Suluissa muuttujan ”Col” näemme argumentin indeksi tämän argumentin meidän toimittaa avaimen argumentin arvon kokoelma Lisää menetelmällä eli nimi mobiili tuotemerkin.

Koodi:

 Alakokoelma_esimerkki () Dim Col As Collection Set Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") End Sub 

Anna nyt näyttää tulos VBA: n viestiruudussa.

Koodi:

 Alakokoelma_esimerkki () Dim Col As Collection Set Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") MsgBox ColResult End Sub 

Ok, olemme valmiit, kun suoritamme koodin, meidän pitäisi nähdä mobiilimerkin “Redmi” hinta.

Parempi ymmärtäminen avain- ja nimiparametreista

Olen varma, että Collection-objektin parametrien ymmärtäminen ei ole helppoa. Sallikaa minun selittää teille yksinkertainen esimerkki.

Kuvittele, että sinulla on hedelmälista, jossa on niiden nimi ja hedelmien hinta. Oletetaan, että haet hedelmien hinnasta ”Apple” hedelmän nimen mukaan.

Hedelmien hinnan hakemiseksi meidän on mainittava hedelmän nimi, ts. Kokoelmassa VBA-kieli Hedelmän nimi on avain ja hedelmän hinta on ”Tuote”.

Se on kuin VLOOKUP- tai HLOOKUP-toiminnon soveltaminen, haun arvon perusteella haemme tarvittavat tiedot tietokannasta. Tässä hakuarvo on Avain ja tulos on Kohde.

Edistynyt esimerkki

Kuvittele, että olet kaupan johtaja yhdessä vähittäiskaupassa ja olet vastuussa asiakaskyselyjen hallinnasta. Yksi tällainen asiakaskysely on tiedustelu tuotteen hinnasta.

Sinun on annettava asiakkaan hakea tuotteen hinnasta täydelliset tiedot. Vastaavasti sinun on näytettävä viesti, jos tietoja ei löydy. Alla on esimerkkikoodi, joka näyttää syöttöruudun käyttäjän edessä ja joka vaatii syöttämään etsimänsä tuotteen nimen, jos tuotetta on kokoelmassa, se näyttää mainitun tuotteen hinnan tai muuten näytä viesti "Etsimääsi tuotetta ei ole".

Koodi:

 Alakokoelma_esimerkki2 () Himmennä ItemsCol kokoelmana Dim ColResult as String Set ItemsCol = Uusi kokoelma ItemsCol.Add-avain: = "Apple", Item: = 150 ItemsCol.Add Key: = "Orange", Item: = 75 ItemsCol.Add Key: = "Vesimeloni", Kohde: = 45 ItemsCol.Add Key: = "Mush Millan", Item: = 85 ItemsCol.Add Key: = "Mango", Item: = 65 ColResult = Application.InputBox (Prompt: = "Please Kirjoita hedelmän nimi ") Jos ItemsCol (ColResult)" "Sitten MsgBox" Hedelmän hinta "& ColResult &" on: "& ItemsCol (ColResult) Muu MsgBox" Etsimäsi hedelmän hintaa ei ole kokoelma "End If End Sub 

$config[zx-auto] not found$config[zx-overlay] not found