Kuinka luoda Multi Select ListBox Excelissä (helpoilla ohjeilla)

  • Jaa Tämä
Hugh West

Kun käsittelemme suurta tietokokonaisuutta, siitä on usein vaikea saada mitään valikoivaa arvoa. Lisäksi siitä ei voi valita kuin useita tietoja samanaikaisesti. Tässä tapauksessa, ListBox on erittäin hyödyllinen ratkaisu Excel . Mutta tämän prosessin luominen ListBox on hieman hankala. Siksi tässä artikkelissa opettelemme, miten luoda monivalintainen ListBox Excelissä muutamalla yksinkertaisella toimenpiteellä.

Lataa harjoituskirja

Hae esimerkkitiedosto harjoittelua varten.

Multi Select ListBox.xlsm

Vaiheittaiset menettelyt Multi Select ListBoxin luomiseen Excelissä

Prosessin helpottamiseksi olemme jakaneet sen seuraavasti 8 vaiheet paremman ymmärryksen vuoksi. Joten, viivyttelemättä, hypätään seuraaviin vaiheisiin nähdäksemme, miten voimme luoda monivalintaisen ListBox Excelissä.

Vaihe 1: Luo Excel-taulukko tietokokonaisuudesta

Aluksi meidän on valmisteltava esimerkkitietoaineisto ja muunnettava se taulukoksi. Seuraa seuraavia ohjeita.

  • Luo ensin tietokokonaisuus, jossa on seuraavat tiedot 10 kaupungin nimet ja niiden Kokonaisväestö of the YHDYSVALLAT till 1, heinäkuu vuonna Soluväli B5:C14 .

  • Napsauta nyt mitä tahansa tietokokonaisuuden solua ja valitse Taulukko alkaen Lisää välilehti.

  • Sitten näet Luo taulukko ikkuna, joka valitsee automaattisesti solualueen taulukon luomista varten.
  • Merkitse tässä ikkunassa valittuna oleva Taulukossani on otsikot ruutuun ja paina OK .

  • Tuloksena näet, että tietokokonaisuus muunnetaan taulukoksi.

  • Yhdessä sen kanssa löydät taulukon osoitteesta Taulukon nimi laatikko Pöydän suunnittelu välilehti

  • Voit muuttaa taulukon nimeä mieltymyksesi mukaan.

Lue lisää: Kuinka luoda riippuvainen pudotusluettelo Excelissä

Vaihe 2: Nimeä tietokokonaisuusluettelo Nimenhallinnasta

Seuraavaksi nimeämme taulukon solualueiden kunkin luokan. Käy tätä varten läpi seuraavat vaiheet.

  • Valitse ensin mikä tahansa solu Sarake B taulukossa.
  • Siirry sitten Kaavat välilehti ja valitse Määritä nimi .

  • Tämän jälkeen näet Uusi nimi valintaikkuna.
  • Anna tässä valintaikkunassa mikä tahansa nimi, joka vastaa valittua sarakeotsikkoa sarakkeessa Nimi laatikko.

  • Napsauta seuraavaksi Viittaa laatikko samassa ikkunassa.
  • Vie kursori otsikon päälle, jolloin näkyviin tulee musta nuoli.
  • Paina sen jälkeen vasenta painiketta valitaksesi vaihtoehdon Solualue B5:B14 .

  • Tuloksena näet nimiluettelon yhdessä taulukon nimen kanssa kentässä Viittaa ruutuun ja paina OK .

  • Noudata samaa menettelyä, kun kyseessä on Soluväli C5:C14 myös.
  • Lopuksi näet nimet Nimen laatikko työkirjan vasemmassa yläkulmassa.

Vaihe 3: Luo pudotusluettelo tietojen validoinnilla

Tässä vaiheessa luomme nimetyistä alueista pudotusluettelon, jossa on tietojen validointi. Tämä on olennainen osa luotaessa ListBox . Luomme tämän työkirjan toiseen työarkkiin. Mutta voit tehdä tämän myös samassa työarkissa. Katsotaan prosessi alla.

  • Valitse aluksi taulukosta joitakin soluja, joihin haluat soveltaa Tietojen validointi .
  • Siirry sitten Tiedot välilehti ja valitse Tietojen validointi vuonna Tietotyökalut jakso.

  • Seuraavaksi Asetukset välilehti, valitse Luettelo vuonna Salli laatikko.

  • Lisäksi merkki tarkisti Jätä tyhjä huomiotta ja Pudotusvalikko solussa laatikot.

  • Napsauta sen jälkeen Lähde laatikko tässä ikkunassa ja paina F3 näppäimistölläsi.
  • Tämän seurauksena näet Liitä nimi valintaikkuna, jossa on nimiluettelo.
  • Valitse tässä CityNames luettelosta ja paina OK .

  • Tämän jälkeen näet ensimmäisen luettelon nimen näkyvän lähdelaatikossa.

  • Paina lopuksi OK ja käytä samaa prosessia toiseen nimiluetteloon.
  • Lopuksi näet, että Tietojen validointi aktivoituu valituissa soluissa.

Vaihe 4: VBA-koodin lisääminen validoituun laskentataulukkoon

Nyt on vuorossa ratkaiseva osa, jossa lisätään VBA koodi luoda ListBox . Seuraavassa on prosessi tätä varten.

  • Napsauta ensin hiiren kakkospainikkeella validoitua laskentataulukkoa ja valitse Näytä koodi alkaen Kontekstivalikko .

  • Lisää sitten tämä koodi sivulle.
 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rngDV As Range Dim oldVal As String Dim newVal As String Dim strList As String On Error Resume Next Application.EnableEvents = False Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation) On Error GoTo exitHandler If rngDV Is Nothing Then GoTo exitHandler If Not Intersect(Target, rngDV) Is Nothing Then If Target.Validation.Type = 3Then strList = Target.Validation.Formula1 strList = Right(strList, Len(strList) - 1) strDVList = strList frmDVList.Show End If End If exitHandler: Application.EnableEvents = True End Sub 

  • Siirry seuraavaksi Lisää välilehti ja valitse Moduuli .
  • Tässä vaiheessa työkirjan nimi on valittava ikkunassa Projektin kohde ikkuna.

  • Nimeä sitten moduuli uudelleen seuraavasti modSettings ja lisää tämä koodi.
 Option Explicit Global strDVList As String 

Kiitos Kontekstit koodien toimittamisesta.

Vaihe 5: Luo UserForm, jossa on Listbox & Painikkeet

Tässä vaiheessa luodaan UserForm työkirjaa varten sekä ListBox ja joitakin Komentopainikkeet Toimi seuraavasti.

  • Valitse ensin työkirja Projekti-VBAProjekti ikkunassa Visual Basic toimittaja.

  • Siirry sitten Lisää välilehti ja valitse UserForm .

  • Tämän seurauksena saat UserForm tällainen käyttöliittymä.

  • Tämän lisäksi saat myös seuraavat tiedot Työkalupakki ikkuna.
  • Vedä täältä ListBox ...ja... UserForm .

  • Sitten ListBox Voit säätää kokoa vetämällä laatikon reunoja.

  • Vedä seuraavaksi CommanButton kahdesti UserForm myös luoda 2 painiketta toimintaa varten.

  • Lopullinen tulos näyttää tältä.

Vaihe 6: Ominaisuusasetusten muuttaminen

Tässä vaiheessa teemme joitakin muutoksia kunkin komponentin ominaisuuksiin. ListBox .

  • Alussa paina F4 on Visual Basic editorin avata Ominaisuudet-ikkuna .
  • Valitse sitten UserForm ja vaihda Nimi ja Kuvateksti näin.

  • Valitse seuraavaksi ListBox ja vaihda Nimi mieltymyksesi mukaan.

  • Vaihda lisäksi tyyppiä ListStyle , MultiSelect ja SpecialEffect alla olevan kuvan mukaisesti.

  • Valitse nyt ensimmäinen komentopainike ja tee seuraavat muutokset ominaisuuksiin.

  • Muokkaa lisäksi myös toisen komentopainikkeen ominaisuuksia.

Vaihe 7: VBA-koodin soveltaminen UserFormiin

Tässä vaiheessa sovelletaan VBA koodit kullekin osatekijälle UserForm Katsotaan, miten se toimii.

  • Valitse ensin UserForm ja mene Näytä välilehdellä valita Koodi .

  • Aseta sitten tämä koodi tyhjälle sivulle. Se käynnistyy automaattisesti, kun UserForm avataan.
 Private Sub UserForm_Initialize() Me.lstDV.RowSource = strDVList End Sub 

  • Tämän jälkeen palaa takaisin UserForm käyttöliittymä napsauttamalla Kohde on Näytä välilehti.

  • Seuraa nyt prosessia lisätäksesi tämän koodin kohtaan OK nappi.
 Private Sub cmdOK_Click() Dim strSelItems As String Dim lCountList As Long Dim strSep As String Dim strAdd As String Dim bDup As Boolean On Error Resume Next strSep = ", " With Me.lstDV For lCountList = 0 To .ListCount - 1 If .Selected(lCountList) Then strAdd = .List(lCountList) Else strAdd = "" End If If If strSelItems = "" Then strSelItems = strAdd Else If strAdd "" Then strSelItems = strSelItems_ & strSep & strAdd End If End If Next lCountList End With With ActiveCell If .Value "" Then .Value = ActiveCell.Value _ & strSep & strSelItems Else .Value = strSelItems End If End With Unload Me End Sub 

  • Kirjoita tämän lisäksi tämä koodi komentoriville Sulje painiketta samaa prosessia käyttäen.
 Private Sub cmdClose_Click() Unload Me End Sub 

  • Paina lopuksi Ctrl + S tallentaaksesi sen ja sulkeaksesi ikkunan.

Kiitos Kontekstit auttamisesta koodien kanssa.

Vaihe 8: Monivalinta ListBoxista

Lopuksi olemme onnistuneesti luoneet ListBox Jos haluat tarkistaa, toimiiko koodi vai ei, käy läpi seuraavat vaiheet.

  • Valitse ensin Solu B5 jossa sovellettiin Tietojen validointi .
  • Heti sen jälkeen ListBox ponnahtaa esiin komentamalla Valitse kohde luettelosta .
  • Valitse tässä ikkunassa useampi kuin yksi nimi luettelosta.

  • Paina sitten OK .
  • Lopuksi olet onnistuneesti valinnut useamman vaihtoehdon valikosta ListBox ja jokainen nimi erotetaan toisistaan Pilkku ( , ).

Muistettavat asiat

  • Nimetyt alueet ei luo Tietojen validointi sääntöä, jos ne syötetään soluviitteinä tai rajausmerkkien kanssa.
  • The Globaali muuttuja sovelletaan sekä UserForm ja Työarkki VBA Kaikki aktiiviset solunimet kulkevat aluksi koodin läpi. strDVList tilapäiseen alueeseen ja sitä käytetään sitten kuin RowSource varten ListBox kun käyttäjä avaa UserForm .
  • Voit yhdistää useita alueita yhteen nimeen valinnan helpottamiseksi.

Päätelmä

Siinä kaikki tältä päivältä. Toivottavasti nämä pitkät, mutta yksinkertaiset vaiheet siitä, miten tehdä luo monivalintalista ListBox excelissä ovat helpottaneet aihetta hieman. Kerro palautteesi kommenttikentässä. Seuraa ExcelWIKI lisää tämän kaltaisia artikkeleita.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.