VBA ComboBox - Hur skapar och använder jag ComboBox i VBA?

Innehållsförteckning

Excel VBA ComboBox

ComboBox är användarformfunktionen i VBA , de skiljer sig från textrutorna eftersom textrutor används för att endast innehålla text och vi tillåter användaren att mata in vilken typ av data som helst, men genom att använda kombinationsrutor begränsar vi användaren för svarstypen vi önskar sålunda är data på ordnat sätt, det liknar listdatavalidering i excel.

ComboBox kan jämföras med en nedrullningsbar lista i Excel, i kalkylblad. Vi använde datavalidering för att tillhandahålla en rullgardinsmeny, men i VBA finns det en användarformfunktion där den används för att tillhandahålla en rullgardinsmeny i vilken användarform som helst, men om vi vill använda en kombinationsruta i Excel kan vi också komma åt den från utvecklaravsnittet därifrån kan vi skapa kombinationsrutor för enskilda eller flera celler.

Combo Box liknar väldigt listrutan vi har i ett Excel-kalkylblad; med kombinationsrutan kan vi lagra förutbestämda värden så att användarna gör valet från listan tillgängligt från kombinationsrutan. Combo Box används vanligtvis tillsammans med användarformulär som en del av att få inmatningen från användarna.

Användarformulär är användbara men att ha andra verktyg i användarformuläret är det som gör användarformuläret så speciellt. Ett av verktygen som vi ofta använder som ett verktyg för användarform är ”ComboBox.”

Topp 2 sätt att skapa en VBA ComboBox

# 1 - Använda direktkodning

Först ser vi hur man använder Combo Box med kalkylbladet. Öppna något av kalkylbladet i excel-arbetsboken, gå till fliken Developer och under den här fliken har vi ett verktyg som heter "Insert". Klicka på detta, och under detta har vi två alternativ Active X-kontroller och formulärkontroller i Excel.

Välj "Kombinationsruta" under "Active X-kontroller".

Nu kan du rita detta objekt på något av kalkylbladet.

Högerklicka på kombinationsrutan och välj alternativet "Egenskaper".

När du väljer egenskaper öppnar den en enorm lista med egenskaper i en kombinationsruta.

För den här kombinationsrutan ska vi ge en lista med avdelningsnamn, så ändra namnegenskapen för kombinationsrutan till "DeptComboBox."

Nu kommer denna kombinationsruta att hänvisas till med namnet "DeptComboBox." Vi måste ge förutbestämda avdelningsnamn, så här har jag en lista med avdelningsnamn.

Nu måste vi lägga till dessa värden i kombinationsrutan. Vi kan göra detta på två sätt, genom kodning eller genom namnhanteraren.

Dubbelklicka på kombinationsrutan så kommer du till VBA-makroproceduren.

Men vi måste se dessa avdelningsnamn när arbetsboken öppnas, så dubbelklicka på "ThisWorkbook."

Välj "Arbetsbok" i listrutan.

Välj "Öppna" från alternativen.

Nu kommer det att skapa ett tomt som det nedanstående.

Inne i detta makro anger du nedanstående kod.

Koda:

Privat underarbetsbok_Öppen () med kalkylblad ("Sheet1"). DeptComboBox .AddItem "Ekonomi" .AddItem "Marketing" .AddItem "Merchandising" .AddItem "Operations" .AddItem "Granskning". AddItem "Kundtjänst" Avsluta med slutet av Sub Sub

OK, spara och stäng nu arbetsboken. När du öppnar arbetsboken igen kan vi se avdelningsnamnen i den.

# 2 - Använda UserForm

Ett annat sätt att lägga till värden i ComboBox är att använda användarformuläret. Ge först celler ett namn som "Avdelning".

Gå till Visual Basic Editor och infoga användarformulär från INSERT-alternativet.

Nu skapas det nya användarformuläret.

Bredvid användarformuläret kan vi se "Verktygslåda" från den här verktygslådan, vi kan infoga "Kombinationsruta."

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 (rader. Antal, 1). Slut (xlUp). Rad + 1 celler (LR, 1) .Value = TextBox1.Value-celler (LR, 2) .Value = ComboBox1 .Value End Sub

Dubbelklicka nu på knappen "AVBRYT" och lägg till koden nedan.

Nu i kalkylbladet, skapa en mall som nedan.

Kör nu användarformuläret och det öppnas så här.

Ange anställdas namn och välj avdelningsnamnet från kombinationslistan.

Klicka på SUBMIT-knappen och se magin.

Vi har angett värdena i det tabellformat vi har skapat.

Saker att komma ihåg

  • COMBO BOX har också sina egna egenskaper.
  • Att lägga till värden i listan kommer på två sätt. En är ett kodande sätt och en annan är en referens för intervallnamn.
  • COMBO BOX är vanligtvis en del av användarformuläret.

Intressanta artiklar...