Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I am attempting to fill a combo box with the list ow Named Ranges with names
that begin with "List*. I successfully get the names into a text box (see commented out code below), but whrn I attempt to write it to the combobox, I get "Object doesn't support prroperty or method." How do I write the list to a commbo box? Ultimately, I am going to use the selected name range to populate a multi-select listbox (which is working with hard coded Named Range in it.) Thanks in advance, you generous souls. I have indeeed searched the forum, and it does look to me like I am doing this correctly. Private Sub UserForm_Initialize() Dim nMames As Names Dim nName As Name Dim r As Variant r = "" For Each nName In Application.ThisWorkbook.Names If nName.Name Like "List*" Then r = r & nName.Name & Chr(10) End If Next nName 'MsgBox r Sheets("Sheet1").ComboBox1.List = r End Sub |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I didn't test this, but the idea is to put the names into an array, then use
the array for the list. Dim r As Variant, i As Long For Each nName In Application.ThisWorkbook.Names If nName.Name Like "List*" Then i = i + 1 r(i) = nName.Name End If Next nName "KIM W" wrote in message ... I am attempting to fill a combo box with the list ow Named Ranges with names that begin with "List*. I successfully get the names into a text box (see commented out code below), but whrn I attempt to write it to the combobox, I get "Object doesn't support prroperty or method." How do I write the list to a commbo box? Ultimately, I am going to use the selected name range to populate a multi-select listbox (which is working with hard coded Named Range in it.) Thanks in advance, you generous souls. I have indeeed searched the forum, and it does look to me like I am doing this correctly. Private Sub UserForm_Initialize() Dim nMames As Names Dim nName As Name Dim r As Variant r = "" For Each nName In Application.ThisWorkbook.Names If nName.Name Like "List*" Then r = r & nName.Name & Chr(10) End If Next nName 'MsgBox r Sheets("Sheet1").ComboBox1.List = r End Sub |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I'm confused about what you're doing.
You're using the userform_initialize routine, but then populating a combobox on a workhsheet. I'm guessing that you really wanted to populate a combobox on that userform. If that's correct: Option Explicit Private Sub CommandButton1_Click() Unload Me End Sub Private Sub UserForm_Initialize() Dim nName As Name Dim myNames() As String Dim iCtr As Long iCtr = 0 For Each nName In ThisWorkbook.Names If LCase(nName.Name) Like LCase("List*") Then iCtr = iCtr + 1 ReDim Preserve myNames(1 To iCtr) myNames(iCtr) = nName.Name End If Next nName If iCtr = 0 Then Me.ComboBox1.Enabled = False Else With Me.ComboBox1 .List = myNames .Enabled = True End With End If End Sub KIM W wrote: I am attempting to fill a combo box with the list ow Named Ranges with names that begin with "List*. I successfully get the names into a text box (see commented out code below), but whrn I attempt to write it to the combobox, I get "Object doesn't support prroperty or method." How do I write the list to a commbo box? Ultimately, I am going to use the selected name range to populate a multi-select listbox (which is working with hard coded Named Range in it.) Thanks in advance, you generous souls. I have indeeed searched the forum, and it does look to me like I am doing this correctly. Private Sub UserForm_Initialize() Dim nMames As Names Dim nName As Name Dim r As Variant r = "" For Each nName In Application.ThisWorkbook.Names If nName.Name Like "List*" Then r = r & nName.Name & Chr(10) End If Next nName 'MsgBox r Sheets("Sheet1").ComboBox1.List = r End Sub -- Dave Peterson |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
With your help, Dave, I now have it. Thanks for getting beyond my
misunderstanding and giving me a great workable solution. "Dave Peterson" wrote: I'm confused about what you're doing. You're using the userform_initialize routine, but then populating a combobox on a workhsheet. I'm guessing that you really wanted to populate a combobox on that userform. If that's correct: Option Explicit Private Sub CommandButton1_Click() Unload Me End Sub Private Sub UserForm_Initialize() Dim nName As Name Dim myNames() As String Dim iCtr As Long iCtr = 0 For Each nName In ThisWorkbook.Names If LCase(nName.Name) Like LCase("List*") Then iCtr = iCtr + 1 ReDim Preserve myNames(1 To iCtr) myNames(iCtr) = nName.Name End If Next nName If iCtr = 0 Then Me.ComboBox1.Enabled = False Else With Me.ComboBox1 .List = myNames .Enabled = True End With End If End Sub KIM W wrote: I am attempting to fill a combo box with the list ow Named Ranges with names that begin with "List*. I successfully get the names into a text box (see commented out code below), but whrn I attempt to write it to the combobox, I get "Object doesn't support prroperty or method." How do I write the list to a commbo box? Ultimately, I am going to use the selected name range to populate a multi-select listbox (which is working with hard coded Named Range in it.) Thanks in advance, you generous souls. I have indeeed searched the forum, and it does look to me like I am doing this correctly. Private Sub UserForm_Initialize() Dim nMames As Names Dim nName As Name Dim r As Variant r = "" For Each nName In Application.ThisWorkbook.Names If nName.Name Like "List*" Then r = r & nName.Name & Chr(10) End If Next nName 'MsgBox r Sheets("Sheet1").ComboBox1.List = r End Sub -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Populate ComboBox list with Access data | Excel Programming | |||
Populate a ComboBox | Excel Programming | |||
use selected value from one combobox to populate another combobox | Excel Programming | |||
how to populate a combobox with a list of unique values? | Excel Programming | |||
Populate unique list in combobox | Excel Programming |