ComboBox is one of the UserForm control. You can select and drag drop control on the UserForm. This control is used to store and display list of items to a list. This can be used on the UserForm. Please find more details about ComboBox Control in the following chapter. You can see how to load items to a Combo Box, how to get the value of combo box items, etc..,
VBA ComboBox_Control on the UserForm
Please find more details about VBA ActiveX Combo Box Control and how we are adding it on the UserForm.
-
- Go To Developer Tab and then click Visual Basic from the Code or Press Alt+F11.
- Go To Insert Menu, Click UserForm. Please find the screenshot for the same.
-
- Drag a ComboBox on the Userform from the Toolbox. Please find the screenshot for the same.
-
- Double Click on the UserForm, and select the Userform event as shown in the below screen shot.
-
- Now can see the following code in the module.
Private Sub UserForm_Initialize() End Sub
-
- Now, add the following code to the in between procedure.
Code:
Private Sub UserForm_Initialize() ComboBox1.AddItem "MBA" ComboBox1.AddItem "MCA" ComboBox1.AddItem "MSC" ComboBox1.AddItem "MECS" ComboBox1.AddItem "CA" End Sub
-
- Now, Press ‘F5’ to run the code. You can see the following Output. It is shown in the following Screen Shot.
Add dynamic ComboBox_Control on the UserForm using VBA
Please find the following steps and example code, it will show you how to add dynamic Combo Box control on the userform.
-
- Add command button on the userform from the toolbox.
- Right click on the command button, click properties
- Change the command button caption to ‘Create_ComboBox ’
- Double click on the command button
- Now, it shows following code.
Private Sub CommandButton1_Click() End Sub
-
- Call the below procedure named ‘Add_Dynamic_ComboBox ’ and find the below procedure to run.
Private Sub CommandButton1_Click() Call Add_Dynamic_ComboBox End Sub
Procedure to call in the Command Button :
Sub Add_Dynamic_ComboBox() 'Add Dynamic Combo Box and assign it to object 'CmbBx' Set CmbBx = UserForm3.Controls.Add("Forms.comboBox.1") 'Combo Box Position CmbBx.Left = 20 CmbBx.Top = 10 End Sub
-
- Now, click F5 to run the macro, click ‘Create_ComboBox ’ button to see the result.
- You can see the created dynamic combo box in the following screen shot.
output:
Add Items to ComboBox_Control using VBA
Please find the following code, it will show you how to add list items to Combo Box.
Private Sub Insert _Items _To_ComboBox () ComboBox1.AddItem "Item 1" ComboBox1.AddItem "Item 2" ComboBox1.AddItem "Item 3" ComboBox1.AddItem "Item 4" ComboBox1.AddItem "Item 5" End Sub
In the above code ComboBox1 is the name of the Combo Box. Where ‘additem’ is the property of Combo Box.
Clear Items from the ComboBox_Control using VBA
Please find the following code, it will show you how to clear the Combo Box items. The below code clears the ComboBox1 items on the UserForm1.
Sub Clr_CmbBx() UserForm3.ComboBox1.Clear End Sub
Get the selected value of the ComboBox using VBA
Please find the below code to know how to get the selected value of the Combo Box using VBA. In the below example value is the property of Combo box.
Sub Chk_Item_SelectOrNot() MsgBox ComboBox1.Value End Sub
VBA ComboBox Default Values in Excel
Here is the VBA Combo Box default values in Excel. After adding items to Combo Box by using any of the below code you can define the default value.
Code 1:
The below code is useful to select blank option in Combo Box . Where ‘-1’ is the index number.
Sub LstBx_Dflt_Val_Ex1() UserForm3.ComboBox1.ListIndex = -1 End Sub
Code 2:
The below code is useful to select first item in the Combo Box from the available list. . Where ‘0’ is the index number.
Sub LstBx_Dflt_Val_Ex2() UserForm3.ComboBox1.ListIndex = 0 End Sub
Code 3:
The below code is useful to select second item in the Combo Box from the available list. Where ‘1’ is the index number.
Sub LstBx_Dflt_Val_Ex3() UserForm3.ComboBox1.ListIndex = 1 End Sub
Code 4:
The below code is useful to select the last item in the Combo Box from the available list. Where ‘1’ is the index number.
Sub LstBx_Dflt_Val_Ex4() UserForm3.ComboBox1.ListIndex = UserForm3.ComboBox 1.Count - 1 End Sub
Get the total count of ComboBox Items
Here is the following example, it will show you how to get the total count of items in a Combo Box. In the below example ComboBox1 is the Combo Box name and ListCount is the property of Combo Box .
Sub Get_Ttl_Cnt() MsgBox "Total Items in a ComboBox is " & UserForm3.ComboBox1.ListCount End Sub
More Details About the ComboBox_Control
VBA ComboBox Excel Macros Examples Codes Adding Clearing Items
Please find more details about Remove Duplicates in Combo Box in Excel VBA.
VBA Remove Duplicates in ComboBox
Please find the following link for more details about VBA Combo Box Excel Macros Examples and Codes Adding and Clearing Items.
Excel VBA FAQs: Frequently Asked Questions
Please find the most frequently asked questions and answers for your reference. These are explained more detailed way with examples.