RowSource property in cbox

S

Sam

I have a horizontal range named "TranList" that I want to use as the
RowSource of a UserForm combo box. I tried entering the range name into the
RowSource property and using the Transpose function for the range in
UserForm_Initialize but can't seem to get it to work.

Any help would be appreciated.

Thanks,

Sam
 
R

Rick Rothstein

A horizontal range can't be a RowSource (no rows). You will have to loop the
range to populate your ComboBox. Something like this (change the name of the
ComboBox to whatever yours is named)...

Dim V As Variant
For Each V In Range("TranList")
Me.ComboBox1.AddItem V
Next
 
M

Matthew Herbert

Sam,

You can use a named range for .RowSource. Take note that the help file
instructs that .RowSource accepts a String. A ListBox should be fine with a
horizontal range, but if the ComboBox isn't then you'll have to load the
ComboBox some other way(i.e. you wouldn't use .RowSource). So, you can use
something like the following on a ListBox1:

Me.ListBox1.RowSource = Range("NamedRange").Address(External:=True)

Apply this same concept to your ComboBox to test whether it will work. If
it doesn't work, then you'll have to load the ComboBox some other way (i.e.
..List, .AddItem, etc.).

Best,

Matthew Herbert
 
B

B Lynn B

You could leave the RowSource property empty, and run some alternate code
during initialization as follows:

dim CL as range

For Each CL in Range("BoxSource").Cells
ComboBox1.AddItem CL
Next CL

Change range to whatever you've called yours, and ComboBox1 to the actual
name of your combobox.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top