You are here:

Excel/Excel 2010 Active X Combobox, Selecting Sheets


Am a newbie in trying to automate Excel.
I have a workbook with 50 worksheets and a menu sheet.
On the menu sheet I created an Actixe X combobox filling it
with the fifty sheets.
I wish to be able to select from the combo box to go to a
particular sheet. I am using the following code which works fine
if I select and click but when I enter an alphabet it goes direct
to the first sheet with which the alphabet starts rather then giving
me any options to select.

Private Sub ComboBox1_Click()
If Me.ComboBox1.Value <> "" Then Sheets(Me.ComboBox1.Value).Activate
ComboBox1.Value = ""
End Sub

I got some help from another blogg and was given this code
but this works with some glitches.

Private Sub ComboBox1_Click()

Dim theList As Variant
Dim x As Integer
theList = ComboBox1.List
For x = 0 To UBound(theList)
If theList(x, 0) = ComboBox1.Value Then
8 ComboBox1.Value = ""

Exit For
End If
Next x

End Sub

And does not take into account error handling or code if the first alphaber typed in is not in the list.

Will appreciate all your help."

On Developer tab, choose Design Mode. Right-click on your ActiveX ComboBox. Change the "Style" property to 0 - fmStyleDropDownCombo. This means that the user will select an item from the ComboBox, rather than typing in a value. Then exit Design Mode.

The code connected to your combobox should be

Private Sub ComboBox1_Change()
   If ComboBox1 <> "" Then
       ComboBox1 = ""
   End If
End Sub

Note that the action is "Change" not "Click". Now, when you select a worksheet name from the combobox, it will activate that worksheet. There will be no errors, because user is prevented from entering anything into the combobox other than the names on the list.
About Excel
This topic answers questions related to Microsoft Excel spreadsheet (or workbook) stand-alone or Mircrosoft Office Excel including Excel 2003, Excel 2007, Office 2000, and Office XP. You can get Excel help on Excel formulas(or functions), Excell macros, charting in Excel, advanced features, and the general use of Excel. This does not provide a general Excel tutorial nor the basics of using a spreadsheet. It provides specific answers to using Microsoft Excel only. If you do not see your Excel question answered in this area then please ask an Excel question here


All Answers

Answers by Expert:

Ask Experts


Stuart Resnick


I can answer questions relating to MS Excel formulas, or to programming with vba (Visual Basic for Applications) in the Excel environment. Please follow the following guidelines: your question should focus on one specific issue you want to learn. It's beyond the scope of this free service for me to create entire projects or complex vba solutions for you from scratch. You should be able to do most of the work yourself, and come here when you need help with a specific point you're stuck on. ALWAYS include a simple, concrete example illustrating what you want to learn. Explain this example in detail in the text of your question (what data is in which cells of which sheets, etc). Be very precise about the results you want, using this sample to make the logic clear. Always keep these examples SIMPLE. Never e.g. use 18 worksheets in your example if using 2 or 3 will do. Never use ranges like AI567:BB865 if using a range like A1:B3 will do. Thanks.


As a consultant, I've designed Excel tools since the 90s, working for the Federal Reserve Bank, AT&T, and (currently) Gap Inc.

My only "education" comes from 2 decades of doing spreadsheet/programming work, with major SF Bay Area corporations such as AT&T, Federal Reserve Bank, and Gap Inc.

©2016 All rights reserved.