View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Populating combo box with a function

It looks OK. are you having problems? I added a few enrichments

Sub xx()
Dim MyCombo as MSForms.Combobox
MyCombo = Sheets("Entry sheet").ComboBox1

' Add unique items to dropdown box
Call FillCombo(MainCategory, MyCombo)
' etc

End Sub

And then my function:

Sub FillCombo(Category As Collection, MyCombo As MSForms.ComboBox)
Dim Item
With MyCombo
.Clear
.AddItem "<All"
For Each Item In Category
.AddItem Item
Next Item
.Text = "<All"
End With
End Sub

since you aren't returning a value, no need to make this a function


I assume the items in your category are strings.

--
Regards,
Tom Ogilvy


"Derek Gadd" wrote in message
om...
Hi,

I want to use a function to populate some control form combo boxes on
a worksheet. However, I'm not sure how to pass the combo box name to
the function or even if this is the right approach. I suspect the line
where I define "MyCombo" is wrong but what should I have instead? My
code reads:

Sub xx()
MyCombo = Sheets("Entry sheet").ComboBox1

' Add unique items to dropdown box
Call FillCombo(MainCategory, MyCombo)
' etc

End Sub

And then my function:

Function FillCombo(Category As Collection, MyCombo As ComboBox)
Dim Item
With Sheets("Entry sheet").ComboBox1
.Clear
.AddItem "<All"
For Each Item In Category
.AddItem Item
Next Item
.Text = "<All"
End With
End Function