add combox with code

  • Thread starter Thread starter Dawna
  • Start date Start date
D

Dawna

Good Morning,

Could someone help with a code to add a combobox to a userform using code.
I'd like to have a command button "add" which will add this combobox.

Thanks in advance.
Dawna
 
How about an alternative...

Add your combobox to the userform while you're in design mode--but hide it and
show it using the commandbutton.

It makes things lots easier.
 
Dawna

You've got two main choices :

1. Add the combobox in your design, but make it Visible = False. When the
time comes during your code use
MyForm.MyCombo.Visible = True

2. Add the combobox using vba code.
This falls into two bits
a. Add the combobox
b. Fill it with your data

The downside of 2 is that you'll need to make sure it doesn't get placed
over other controls.

If you want more info on 2, post a reply.
 
Hi Paul. Thank you for the reply. Could you help with code for the second
choice?
Thank you again.
Dawna
 
This should add your box :

Private Sub Create_Combo()
Dim MyCombo As MSforms.ComboBox
Set MyListBox = MyForm.Controls.Add("Forms.ComboBox.1")
With MyListBox
.Top = 10
.Left = 20
.Height = 50
.Name = "myBox"
End With

End Sub

Then to add some data :

Sub Add_Combo_Data()
dim myArray(Number_of_Items)
' Add the items for your list into the array as follows :
For nCount = 1 to Number_of_Items
myArray(nCount) = Whatever ' each of your items
Next
MyNewForm.MyBox.List = myArray

End Sub

You can get very clever with more columns, but positioning becomes seriously
more difficult.

Hope that helps get you started.
 
Thank you for the help! Much appreciated.

Paul said:
This should add your box :

Private Sub Create_Combo()
Dim MyCombo As MSforms.ComboBox
Set MyListBox = MyForm.Controls.Add("Forms.ComboBox.1")
With MyListBox
.Top = 10
.Left = 20
.Height = 50
.Name = "myBox"
End With

End Sub

Then to add some data :

Sub Add_Combo_Data()
dim myArray(Number_of_Items)
' Add the items for your list into the array as follows :
For nCount = 1 to Number_of_Items
myArray(nCount) = Whatever ' each of your items
Next
MyNewForm.MyBox.List = myArray

End Sub

You can get very clever with more columns, but positioning becomes seriously
more difficult.

Hope that helps get you started.
 
Thank you as well Dave.

Dave Peterson said:
How about an alternative...

Add your combobox to the userform while you're in design mode--but hide it and
show it using the commandbutton.

It makes things lots easier.
 
Back
Top