From: John Howard on
UserFrom1.ComboBox1 = "John Howard"

The above code populates the control ComboBox1 with the string John Howard.
This is just a Runtime with the ComboBox not retaining the string.
What is the syntes for populating the control ComboBox at Design Time so
that the string is retained even after closing and reopening/
--
Regards
John Howard
Sydney, Australia
From: FSt1 on
hi
2 basic ways to do that.
set the rowsource or use the add item method.
this would more that likely be used in the userform initilazation.
assuming you have a list on a sheet somewhere.
Private Sub UserForm_Initialize()
Me.ComboBox1.ListFillRange = ""
Me.ComboBox1.ListFillRange = "A1:A12"
end sub

or the add item method
Dim r As Range
Set r = Sheets("sheet1").Range("A1:A12")
me.ComboBox1.Clear
For Each c In r
me.ComboBox1.AddItem c.Value
Next c

above code is untested by should work.

Regards
FSt1

"John Howard" wrote:

> UserFrom1.ComboBox1 = "John Howard"
>
> The above code populates the control ComboBox1 with the string John Howard.
> This is just a Runtime with the ComboBox not retaining the string.
> What is the syntes for populating the control ComboBox at Design Time so
> that the string is retained even after closing and reopening/
> --
> Regards
> John Howard
> Sydney, Australia
From: John Howard on
Hi FSt1,
Thanks for the prompt response.
Unfotunately I didn't explain myself well.
What I meant to say was that I want to populate the ComboBox Value at Design
Time not the ComboBox RowSource.

It is intended that sometimes the value will be populated from its dropdown
and other times from a value in another ComboBox.
--
Regards
John Howard
Sydney, Australia


"FSt1" wrote:

> hi
> 2 basic ways to do that.
> set the rowsource or use the add item method.
> this would more that likely be used in the userform initilazation.
> assuming you have a list on a sheet somewhere.
> Private Sub UserForm_Initialize()
> Me.ComboBox1.ListFillRange = ""
> Me.ComboBox1.ListFillRange = "A1:A12"
> end sub
>
> or the add item method
> Dim r As Range
> Set r = Sheets("sheet1").Range("A1:A12")
> me.ComboBox1.Clear
> For Each c In r
> me.ComboBox1.AddItem c.Value
> Next c
>
> above code is untested by should work.
>
> Regards
> FSt1
>
> "John Howard" wrote:
>
> > UserFrom1.ComboBox1 = "John Howard"
> >
> > The above code populates the control ComboBox1 with the string John Howard.
> > This is just a Runtime with the ComboBox not retaining the string.
> > What is the syntes for populating the control ComboBox at Design Time so
> > that the string is retained even after closing and reopening/
> > --
> > Regards
> > John Howard
> > Sydney, Australia
From: Peter T on
Sub test()
Dim arrList
Dim u As UserForm
Dim cbo As ComboBox

arrList = Array("Line 111", "Line 222", "Line 333")
Set u = ThisWorkbook.VBProject.VBComponents("UserForm1").Designer
Set cbo = u.ComboBox1
cbo.List = arrList

End Sub

You'll need to Trust access to VB Project in your security settings. FWIW
you can design an entire Userform from scratch with the Designer object.

Regards,
Peter T

"John Howard" <John.Howard(a)discussion.microsoft.com> wrote in message
news:51949AB6-424D-4EBF-A505-3450A84122DF(a)microsoft.com...
> UserFrom1.ComboBox1 = "John Howard"
>
> The above code populates the control ComboBox1 with the string John
> Howard.
> This is just a Runtime with the ComboBox not retaining the string.
> What is the syntes for populating the control ComboBox at Design Time so
> that the string is retained even after closing and reopening/
> --
> Regards
> John Howard
> Sydney, Australia