Hvad er listefelt i Excel VBA?
Listeboks er et af værktøjerne under brugerform i VBA. Som navnet i sig selv antyder, vil listefeltet indeholde alle listen over værdier, som brugeren har givet. I VBA List-boksen leveres en brugerformular. I denne artikel vil vi se, hvordan man opretter en listefelt, og hvordan man holder værdier i listefeltet i Excel VBA.
Listeboks er en boks, der kan indeholde værdier i den. Fra denne liste over elementer kan brugeren vælge det element, der vises i listefeltet.
Vi kan også tegne listefelt i almindeligt excelark.
Sådan oprettes listefelt i Excel?
Antag, at du har en liste over måneden i et af excel-arkene.
For denne liste over måneder opretter vi en listekasse. Følg nedenstående trin for at oprette listeboksen i Excel-regneark:
Trin 1: Gå til fanen Udvikler. Under udvikler fanen Gå til Indsæt valgmulighed og under indsæt indstillingen Gå til Formkontrol, under formkontrol skal du vælge Listeboks.
Trin 2: Når du har valgt listeboksen, skal du tegne listeboksen i excelarket.
Trin 3: Højreklik på det indsatte listefelt, og vælg Formatkontrol .
Trin 4: Gå til Control under Format Control . Vælg inputområdet som månedsnavneområde, og angiv cellehenvisning til celle D1 og klik derefter på Ok .
Trin 5: Vi har en liste over måneden i listefeltet.
Trin 6: Vælg et af elementerne i listefeltet og se ændringen i celle D1.
Så vi fik 3 som resultat i celle D1, fordi Mar er det tredje punkt på listen.
Sådan oprettes listefelt i VBA?
Oprettelse af en listefelt er ikke så let, som vi har set i ovenstående eksempel, du skal have en betydelig mængde viden om Excel VBA-makroer.
Du kan downloade denne VBA Listbox Excel-skabelon her - VBA List Box Excel TemplateVBA List Box - Eksempel # 1
Forståelse af VBA List Box.
Du kan overveje følgende eksempel for en bedre forståelse af VBA List Box.
Følg nedenstående trin for at oprette listefelt i VBA.
Trin 1: I Visual Basic-vinduet Indsæt brugerformular.
Trin 2: Så snart du indsætter brugerformular, kan du se værktøjskasse sammen med brugerformularen.
Trin 3: Vælg List Box i denne værktøjskasse.
Trin 4: Tegn dette listefelt på brugerformularen.
Trin 5: Når du har indsat listefeltet, skal du give et korrekt navn til dette listefelt under vinduet Egenskaber.
Trin 6: Rul ned og find "Row Source". I dette indtastes værdien for dit månedsnavn sammen med arknavnet.
Trin 7: Så snart du har henvist til, kan du se månedsnavne i listefeltet.
Trin 8: Vælg linjestil som " 1 - fmListStyleOption " i listen med egenskaber.
Trin 9: Så snart du vælger linjestilen, kan du se virkningen med det samme.
Trin 10: Kør denne kode, hvor du vil se et listefelt separat.
Trin 11: Nu tilføjer vi makrokode for at gemme de data, som brugeren har valgt. Dobbeltklik på listefeltet. Du vil se et separat makronavn som nedenunder.
Privat undermåned_List_Box_Click () Slut sub
Trin 11: Når brugeren vælger måneden, lagrer vi dataene i celle G5. For at gemme det input, som brugeren har givet, skal du tilføje nedenstående kode.
Privat under Måned_List_Box_Click () Område ("G5"). Værdi = Måned_List_Box.Value slutund
Trin 12: Hvis du nu kører koden og vælger en af de måneder, kan vi se den værdi, som brugeren har valgt i G5-cellen.
Jeg har valgt Jun, så jeg kan se Jun i G5-cellen. Som dette kan vi bruge listefelt i dine VBA-projekter til at komme med input fra brugerne.
VBA List Box - Eksempel # 2
Add.Items-metode til at tilføje værdier til listefelt
Følg nedenstående trin for at oprette listefelt i VBA.
Trin 1: Opret en ny UserForm. Her er det UserForm2.
Trin 2: Tilføj listen i brugerformularen 2.
Trin 3: Efter indsættelse af listefeltet skal du give et korrekt navn til dette listefelt under vinduet Egenskaber, dvs. Måned_liste_Box1 .
Trin 4: Vælg linjestil som " 1 - fmListStyleOption " i listen med egenskaber.
Trin 5: Dobbeltklik på brugerformularen. Du vil se automatisk indsat makro som den nedenunder.
Privat underbrugerForm_Click () Slut sub
Trin 6: Ved at placere en markør inde i makroen skal du vælge “ Initialize ”.
Trin 7: Så snart du har valgt “Initialiser”, kan vi se en ny makro, der skal oprettes lige under den nuværende.
Privat underbrugerForm_Initialiser () Sluttund
Trin 8: Slet den gamle makro. Under UserForm initialiserer skal du skrive nedenstående kode for at tilføje elementer til listefeltet.
Privat underbrugerForm_Initialiser () Måned_List_Box1.Tilføj "Jan" Måned_List_Box1.AddItem "Feb" Måned_List_Box1.AddItem "Mar" Måned_List_Box1.AddItem "Apr" Måned_List_Box1.AddItem "Maj" Month_List_Box1._TemMed "Aug" Month_List_Box1.AddItem "Sep" Month_List_Box1.AddItem "oct" Month_List_Box1.AddItem "Nov" Month_List_Box1.Tilføj et punkt "Dec" End Sub
Trin 10: Tryk nu på F5-knappen for at køre koden, og du får følgende output.
Ting at huske
- Hvis du direkte giver cellehenvisning, skal du specificere arknavnet og cellehenvisningen. (Du skal tilføje udråbssymbol (!) Foran arknavnet).
- Du kan også tilføje elementer til en liste ved hjælp af metoden Add.Item.
- Hvis du vil give brugeren mulighed for at vælge mere end et element, skal du vælge “ fmMultiSelectMult” under Multi-Select i vinduet Egenskaber.
Anbefalede artikler
Dette er en guide til VBA List Box. Her diskuterer vi, hvordan man opretter listekasse i Excel og i VBA sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -
- Sådan bruges VBA-udskiftning?
- Tilføjelse af listefelt i Excel
- Vejledning til Excel VBA Arrays
- Excel rulleliste