VBA-kokoelma - Kuinka luoda keruuobjekti VBA: ssa?

Sisällysluettelo

Excel VBA -kokoelmaobjekti

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

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

Kokoelmia käytetään esineiden tallentamiseen. Ne ovat paljon joustavampia kuin VBA-matriisit, kun taas matriiseilla on kiinteät kokorajoitukset, mutta lukijoilla ei ole kiinteää kokorajoitusta milloin tahansa ja ne eivät edes vaadi manuaalista kokoa.

VBA-kokoelma on hyvin samankaltainen kuin “VBA Dictionary”, mutta sanakirja vaatii ulkoisen objektiviitteen asettamista sen objektiviittausikkunan alle. VBA-sanastossa meidän on asetettava viitetyypiksi "Microsoft Scripting Runtime", mutta kokoelma ei vaadi ylimääräisiä varusteita.

Kuinka luoda keruuobjekti VBA: ssa?

Aloittaaksesi keräämisen ensin, meidän on ilmoitettava muuttuja "Kokoelmaksi".

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” keräystapoja.

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" valitaksesi "Lisää" -menetelmä.

Koodi:

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

Lisää-menetelmällä meillä on erityiset parametrit. 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, kirjoita mobiili tuotemerkki.

Koodi:

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

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 muuttujan ”Col” sulun, voimme nähdä argumentin indeksinä. Tätä argumenttia varten meidän on annettava kriittinen argumenttiarvo Collection add -menetelmästä, eli mobiilimerkin nimi.

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.

To search the price of the fruit, we need to mention the name of the fruit, i.e., in collection VBA language Name of the Fruit is Key, and the price of the fruit is “Item.”

It is like applying the VLOOKUP or HLOOKUP function, based on the lookup value, and we will fetch the required data from the database. Here lookup value is Key, and the result is Item.

Advanced Example

Imagine you are a store manager in one of the retail stores, and you are responsible for managing the customer queries. One such customer query is an inquiry about the product price.

It would help if you allowed the customer to search the price of the product with complete information. Similarly, you need to show the message in case of no data found. Below is the example code which will present the input box in front of the user. They require to enter the name of the product they are looking for. If the product is there in the collection, it will show the price of the mentioned product, or else it will show the message as “The Product you are searching for doesn’t exist.”

Code:

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

Mielenkiintoisia artikkeleita...