How to clear contents of combo box with VBA code in Excel?
Normally, you can clear contents of a combo box by clearing the Input Range list data. But how about clearing contents of all combo boxes in an Excel worksheet? This article prepares two VBA codes to help you not only clear contents of a combo box but also clear contents of all combo boxes at the same time in an Excel worksheet.
- Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
- More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
- Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
- Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
- Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
- Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
- More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.
The below two VBA codes can help you clear contents of a combo box or all combo boxes in active worksheet. Please do as follows.
1. In the worksheet you need to clear contents of a combo box, please press the Alt + F11 keys at the same time to open the Microsoft Visual Basic for Applications window.
2. In the Microsoft Visual Basic for Applications window, click Insert > Module. Then copy below VBA code into the Code window.
VBA 1: Clear contents of a combo box in worksheet
Sub ClearAComboBox() ActiveSheet.Shapes.Range(Array("Drop Down 2")).Select With Selection .ListFillRange = "" End With End Sub
Note: In the code, “Drop Down 2” is the name of the combo box you will clear contents from. Please change it to your own.
VBA 2: Clear contents of all combo boxes in active worksheet
Sub ClearComboBox() Dim xOle As OLEObject Dim xDrop As DropDown Application.ScreenUpdating = False For Each xOle In ActiveSheet.OLEObjects If TypeName(xOle.Object) = "ComboBox" Then xOle.ListFillRange = "" End If Next For Each xDrop In ActiveSheet.DropDowns xDrop.ListFillRange = "" Next Application.ScreenUpdating = True End Sub
3. Press the F5 key or click the Run button to run the code.
Then you can see contents are cleared in the specified combo box or all combo boxes in the active worksheet as below screenshot shown:
Note: the VBA codes can be applied to both Combo Box (Form Control) and Combo Box (ActiveX Control).
- How to clear contents and formatting at the same time in cells in Excel?
- How to clear contents of named range in Excel?
- How to clear restricted values in cells in Excel?
- How to clear specified cell contents if value of another cell changes in Excel?
- How to clear specified cell contents on open and exit in Excel workbook?