ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Excel VBA Populatig UserFrom Contols as Design Time. (https://www.excelbanter.com/excel-programming/440856-excel-vba-populatig-userfrom-contols-design-time.html)

John Howard[_2_]

Excel VBA Populatig UserFrom Contols as Design Time.
 
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

FSt1

Excel VBA Populatig UserFrom Contols as Design Time.
 
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


John Howard[_2_]

Excel VBA Populatig UserFrom Contols as Design Time.
 
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


Peter T

Excel VBA Populatig UserFrom Contols as Design Time.
 
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").D esigner
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" wrote in message
...
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





All times are GMT +1. The time now is 08:10 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com