Hva er listeboks i Excel VBA?
Listeboks er et av verktøyene under brukerform i VBA. Som navnet i seg selv antyder listeboksen vil inneholde alle listen over verdier gitt av brukeren. I VBA List-esken kommer et brukerform. I denne artikkelen vil vi se hvordan du oppretter en listeboks og hvordan du holder verdier i listeboksen i Excel VBA.
Listeboks er en boks som kan inneholde verdier i den. Fra denne listen over elementer kan brukeren velge elementet som vises i listeboksen.
Vi kan også tegne listeboks i vanlig Excel-ark også.
Hvordan lage listeboks i Excel?
Anta at du har en liste over måneden i et av excelarkene.
For denne månedslisten vil vi opprette en listeboks. Følg trinnene nedenfor for å lage listeboksen i Excel-regnearket:
Trinn 1: Gå til Utvikler-fanen. Under utvikler, kategorien Gå til Sett inn alternativet og under innsett, alternativet Gå til Formkontroll, under skjemakontroll velger du Listeboks.
Trinn 2: Etter å ha valgt listeboksen tegner du listeboksen i excelarket.
Trinn 3: Høyreklikk på den innsatte listeboksen og velg Formatkontroll .
Trinn 4: Gå til Control under Format Control . Velg inndataområdet som månedsnavnområde og gi cellehenvisning til celle D1 og klikk deretter på Ok .
Trinn 5: Vi vil ha en liste over måneden i listeboksen.
Trinn 6: Velg noen av elementene i listeboksen og se endringen i celle D1.
Så vi fikk 3 som resultat i celle D1 fordi Mar er det tredje elementet på listen.
Hvordan lage listeboks i VBA?
Å opprette en listeboks er ikke så lett som vi har sett i eksemplet ovenfor, du må ha en betydelig mengde kunnskap om Excel VBA-makroer.
Du kan laste ned denne VBA List Box Excel Template her - VBA List Box Excel TemplateVBA List Box - Eksempel # 1
Forståelse av VBA List Box.
Du kan vurdere følgende eksempel for en bedre forståelse av VBA List Box.
Følg trinnene nedenfor for å opprette listeboks i VBA.
Trinn 1: I Visual Basic-vinduet Sett inn brukerformular.
Trinn 2: Så snart du setter inn brukerskjema, kan du se verktøykasse sammen med brukerskjema.
Trinn 3: Velg Listeboks i denne verktøykassen.
Trinn 4: Tegn denne listeboksen på brukerskjemaet.
Trinn 5: Etter å ha satt inn listeboksen, gi et riktig navn til denne listeboksen under vinduet Egenskaper.
Trinn 6: Bla nedover og finn “Row Source”. I dette skriver du verdiene til månedsnavnet sammen med arknavnet.
Trinn 7: Så snart du har gitt referansen, kan du se månedsnavnene i listeboksen.
Trinn 8: Velg linjestil som " 1 - fmListStyleOption " i listevisningsvinduet .
Trinn 9: Så snart du velger linestil, kan du se virkningen umiddelbart.
Trinn 10: Kjør denne koden du vil se en listeboks i hver for seg.
Trinn 11: Nå vil vi legge til makrokode for å lagre dataene som er valgt av brukeren. Dobbeltklikk på listeboksen. Du vil se et eget makronavn som nedenfor.
Privat submåned_List_Box_Click () Slutt sub
Trinn 11: Når brukeren velger måned vil vi lagre dataene i celle G5. For å lagre inndata gitt av brukeren, legg til kode nedenfor.
Privat submåned_List_Box_Click () Område ("G5"). Verdi = Måned_List_Box.Value End Sub
Trinn 12: Hvis du kjører koden og velger noen av månedene, kan vi se verdien valgt av brukeren i G5-cellen.
Jeg har valgt Jun, så jeg kan se Jun i G5-cellen. Som dette kan vi bruke listeboksen i VBA-prosjektene dine til å komme med innspill fra brukerne.
VBA List Box - Eksempel # 2
Add.Items Method to Add Values to Listbox
Følg trinnene nedenfor for å opprette listeboks i VBA.
Trinn 1: Lag en ny UserForm. Her er det UserForm2.
Trinn 2: Legg til listeboks i brukerform 2.
Trinn 3: Etter å ha satt inn listeboksen, gi et riktig navn til denne listeboksen under Egenskaper-vinduet dvs. Måned_liste_Boks1 .
Trinn 4: Velg linjestil som " 1 - fmListStyleOption " i vinduet for listeboksegenskaper .
Trinn 5: Dobbeltklikk på brukerskjemaet. Du vil se automatisk innsatt makro som den nedenfor.
Privat underbrukerForm_Click () Slutt sub
Trinn 6: Ved å plassere en markør inne i makroen velger du “ Initialize ”.
Trinn 7: Så snart du valgte “Initialiser”, kan vi se en ny makro som skal opprettes rett under den gjeldende.
Private Sub UserForm_Initialize () Slutt sub
Trinn 8: Slett den gamle makroen. Under UserForm initialiserer skriver du koden nedenfor for å legge til elementer i listeboksen.
Privat underbrukerForm_Initialisere () Month_List_Box1.Tillegg "Jan" Måned_List_Box1.Tillegg "Feb" Måned_List_Box1.AddItem "Mar" Måned_List_Box1.AddItem "Apr" Måned_List_Box1.AddItem "Mai" Måned_List_Box1.AddItMåned "Aug" Month_List_Box1.AddItem "Sep" Month_List_Box1.AddItem "okt" Month_List_Box1.Tillegg "Nov" Month_List_Box1.Tillegg "desember" Slutt sub
Trinn 10: Trykk nå F5-knappen for å kjøre koden, og du får følgende utdata.
Ting å huske
- Hvis du direkte gir cellehenvisning, må du spesifisere arknavnet og cellehenvisningen. (Du må legge til utropstegn (!) Foran arknavnet).
- Du kan også legge til elementer i listeboksen ved å bruke Add.Item-metoden.
- Hvis du vil la brukeren velge mer enn ett element, må du velge “ fmMultiSelectMult” -alternativet under Multi-Select i Properties-vinduet.
Anbefalte artikler
Dette er en guide til VBA List Box. Her diskuterer vi hvordan du oppretter listeboks i Excel og i VBA sammen med praktiske eksempler og nedlastbar excel-mal. Du kan også gå gjennom andre foreslåtte artikler -
- Hvordan bruke VBA-erstatning?
- Legge til listeboks i Excel
- Veiledning for Excel VBA Arrays
- Nedtrekksliste for Excel