VBA ComboBox - Hvordan oprettes og bruges ComboBox i VBA?

Indholdsfortegnelse

Excel VBA ComboBox

ComboBox er brugerformularfunktionen i VBA , de adskiller sig fra tekstfelterne, da tekstfelter kun bruges til at indeholde tekst, og vi tillader brugeren at indtaste enhver form for data, men ved at bruge kombinationsfelter begrænser vi brugeren til den svarstype, vi ønsker dataene er således ordnet, de svarer til validering af lister i Excel.

ComboBox kan sammenlignes med en rulleliste i Excel i regneark. Vi brugte datavalidering til at give et drop-down, men i VBA er der en brugerformularfunktion, hvor den bruges til at give en drop-down i en hvilken som helst brugerform, men hvis vi vil bruge en kombinationsboks i Excel, kan vi også få adgang til det fra udviklerafsnittet derfra kan vi oprette kombinationsbokse til individuelle eller flere celler.

Combo Box ligner meget den rulleliste, vi har i et Excel-regneark; med kombinationsboksen kan vi gemme forudbestemte værdier, så brugerne gør markeringen fra listen tilgængelig fra kombinationsboksen. Combo Box bruges generelt sammen med brugerformularer som en del af at få input fra brugerne.

Brugerformularer er nyttige, men at have andre værktøjer i brugerformularen er det, der gør brugerformularen så speciel. Et af de værktøjer, som vi ofte bruger som et værktøj til brugerformularen, er "ComboBox."

Top 2 måder at oprette en VBA ComboBox på

# 1 - Brug af direkte kodning

Først vil vi se, hvordan du bruger Combo Box med regnearket. Åbn et af regnearkene i excel-projektmappen, gå til fanen Udvikler, og under denne fane har vi et værktøj kaldet "Indsæt". Klik på dette, og under dette har vi to muligheder Aktive X-kontroller og formkontroller i Excel.

Fra "Active X Controls" skal du vælge "Combo Box".

Nu kan du tegne dette objekt på ethvert regneark.

Højreklik på kombinationsboksen, og vælg indstillingen "Egenskaber".

Når du vælger egenskaber, åbner det en enorm liste over egenskaber i en kombinationsboks.

For denne kombinationsboks vil vi give en liste over afdelingsnavne, så skift kombinationsboksen navneegenskab til "DeptComboBox."

Nu henvises dette kombinationsfelt til navnet "DeptComboBox." Vi er nødt til at give forudbestemte afdelingsnavne, så her har jeg en liste over afdelingsnavne.

Nu skal vi tilføje disse værdier til kombinationsbokslisten. Vi kan gøre dette på to måder, gennem kodning eller gennem navnehåndtering.

Dobbeltklik på kombinationsboksen, og det fører dig til VBA-makroproceduren.

Men vi skal se disse afdelingsnavne, når projektmappen åbnes, så dobbeltklik på "ThisWorkbook."

Vælg "Arbejdsbog" på rullelisten.

Fra "Indstillinger" skal du vælge "Åbn".

Nu opretter det et tomt som det nedenstående.

Indtast nedenstående kode i denne makro.

Kode:

Privat underarbejdsbog_Åbn () med regneark ("Ark1"). DeptComboBox .AddItem "Finance" .AddItem "Marketing" .AddItem "Merchandising" .AddItem "Operations". AddItem "Audit". AddItem "Client Servicing" Afslut med End Sub Sub

Ok, gem nu og luk projektmappen. Når du genåbner projektmappen, kunne vi se afdelingens navne i den.

# 2 - Brug af UserForm

En anden måde at tilføje værdier til ComboBox er ved at bruge brugerformularen. Giv først celler et navn som "Afdeling".

Gå til Visual Basic Editor, og indsæt brugerformular fra INSERT-indstillingen.

Nu oprettes den nye brugerformular.

Ved siden af ​​brugerformularen kan vi se "Værktøjskasse" fra denne værktøjskasse, vi kan indsætte "Kombinationsboks."

Now the combo box is embedded in the user form. In this method, to open the properties option, select the combo box and press the F4 key to open the properties window.

Scroll down the properties tab and choose “Row Source.”

For this “Row Source,” enter the name that we had given to department name cells.

Now this combo box holds the reference of the name “Department.”

Now run the user form by using the run button.

Now we can see a list of department names in the combo box on the user form.

Practically user form is associated with a combo box, text box, and many other tools. We will create a simple data entry user form with a text box & combo box.

Create a user form like the below.

Create two Command Buttons.

Double click on the “SUBMIT” button it will open up below macro.

Inside this macro, add the below code.

Code:

Privat underkommandoButton1_Click () Dim LR så længe LR = celler (rækker.Tælling, 1) .End (xlUp). Række + 1 celler (LR, 1) .Værdi = TextBox1.Værdeceller (LR, 2) .Værdi = ComboBox1 . Værdi End Sub

Dobbeltklik nu på knappen “ANNULLER” og tilføj nedenstående kode.

Nu i regnearket skal du oprette en skabelon som nedenfor.

Kør nu brugerformularen, og den åbner sådan.

Indtast medarbejdernavnet, og vælg afdelingsnavnet fra kombinationslisten.

Klik på SUBMIT-knappen og se magien.

Vi fik værdierne indtastet i det tabelformat, vi har oprettet.

Ting at huske

  • COMBO BOX har også sine egne egenskaber.
  • Tilføjelse af værdier til listen kommer på to måder. Den ene er en kodende måde, og en anden er en rækkeviddehenvisningsreference.
  • COMBO BOX er normalt en del af brugerformularen.

Interessante artikler...