VBA MultiSelect Property of ListBox ActiveX Control in Excel to sets an integer value (0 or 1 or 2). It specifies how text is selcted in a listbox control. When user sets MultiSelect property to ‘0’ then user can only select one item at a time. If MultiSelect property sets to ‘1’ then user can press the spacebar to select and deselect list box items. Finally, If MultiSelect property sets to ‘2’ then user can use ‘Shift’ or ‘Ctrl’ keys to select multiple items in a list box.
ListBox MultiSelect Property – Syntax
Please find the below syntax of ListBox Multi Select Property in Excel VBA.
ListboxName.MultiSelect=0 – frmMultiSelectSingle
Or
ListboxName.MultiSelect=1 – frmMultiSelectMulti
Or
ListboxName.MultiSelect=2 – frmMultiSelectExtended
Where ListboxName represents the ListBox object. In the above syntax we are using a ‘MultiSelect’ property of ListBox object to select listbox items based on user choice.
ListBox MultiSelect Property – Explanation & Example
Here is the example for ListBox Multi Select Property. It will take you through how to align M Select property of list box using Excel VBA. Here you can find or see how we are enable or disable Multi Select of list box manually or using code.
ListBox MultiSelect Property: Change Manually
Please find the following details how we are changing manually Multi Select of listbox property.
-
- 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 Listbox on the Userform from the Toolbox.
-
- Right click on the List box. Click on properties from the available list.
-
- Now you can find the properties window of listbox on the screen. Please find the screenshot for the same.
-
- On the left side find ‘MultiSelect’ property from the available List Box properties.
- On the right side you can find the list of available choices. You can choose one of the following. . Please find the below screen shot for your reference.
a. 0 – frmMultiSelectSingle
b. 1 – frmMultiSelectMulti
c. 2 – frmMultiSelectExtended
ListBox MultiSelect Property: Change Using Code
Please find the following details how we are changing Multi Select of listbox property with using Excel VBA code.
-
-
- 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 Listbox 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 example code1 or code2 or code 3 to the in between above event procedure.
-
Example Code1:
'MultiSelect Property of ListBox Control Private Sub UserForm_Initialize() With UserForm1.ListBox1 'ListBox Source Data .RowSource = "A2:B10" 'The below statement will show header in each column .ColumnHeads = True 'The following statement represents number of columns .ColumnCount = 2 'ListBox text items appear left side .MultiSelect = 0 End With End Sub
-
-
- Now, Press ‘F5’ to see the following Output.
-
Output: If MultiSelect =0 – frmMultiSelectSingle
Please find the below output when we set Multi Select property value is ‘0’. It is shown in the following Screen Shot.
Example Code2:
'MultiSelect Property of ListBox Control Private Sub UserForm_Initialize() With UserForm1.ListBox1 'ListBox Source Data .RowSource = "A2:B10" 'The below statement will show header in each column .ColumnHeads = True 'The following statement represents number of columns .ColumnCount = 2 'ListBox text items appear left side .MultiSelect = 1 End With End Sub
-
-
- Now, Press ‘F5’ to see the following Output.
-
Output: If MultiSelect =1 – frmMultiSelectMulti
Please find the below output when we set Multi Select property value is ‘1’. It is shown in the following Screen Shot.
Example Code3:
'MultiSelect Property of ListBox Control Private Sub UserForm_Initialize() With UserForm1.ListBox1 'ListBox Source Data .RowSource = "A2:B10" 'The below statement will show header in each column .ColumnHeads = True 'The following statement represents number of columns .ColumnCount = 2 'ListBox text items appear left side .MultiSelect = 2 End With End Sub
-
-
- Now, Press ‘F5’ to see the following Output.
-
Output: If MultiSelect =2 – frmMultiSelectExtended
Please find the below output when we set Multi Select property value is ‘2’. It is shown in the following Screen Shot.