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 Template

VBA 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.

Bemærk: Hvis du ikke ser dette listefelt, skal du trykke på F4-tasten, vil du se egenskabsvinduet som det ovenstående.

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 -

  1. Sådan bruges VBA-udskiftning?
  2. Tilføjelse af listefelt i Excel
  3. Vejledning til Excel VBA Arrays
  4. Excel rulleliste

Kategori: