Dependant ComboBox on a UserForm

  • Follow


I have been successful in getting CB2 to be dependant on the value selected 
in CB1 but only with single word items. When I try to adapt the code to use 
two or more word options from CB1, I get the debug window. I realise why this 
is happening - not allowed spaces or illegal characters - so I have been 
trying to use OFFSET to get around this but to no avail.
I am losing hair over this one...
So....how can I get a list of meaningful multi word options in CB1 upon 
which CB2 options are dependant?

UserForm code (adapted from PM's code) :

Option Explicit

Private Sub UserForm_Initialize()
    Dim cell As Range
    For Each cell In Worksheets("claims").Range("ClType").Cells
        ComboBox1.AddItem cell.Value
    Next
ComboBox1.Text = " < Claim type > "
End Sub

Private Sub ComboBox1_Change()
    populateCB2 ComboBox1.Value
End Sub

Sub populateCB2(WotClaim As String)
    Dim cell As Range
    If ComboBox1.ListIndex = -1 Then Exit Sub
    ComboBox2.Clear
   
    For Each cell In Worksheets("Claims").Range("val." & WotClaim).Cells
        ComboBox2.AddItem cell.Value
    Next
    ComboBox2.Text = " < Claim value  > "

End Sub

Thanks

-- 
Traa Dy Liooar 

Jock
0
Reply Utf 3/19/2010 3:23:01 PM

Try this

Private Sub ComboBox1_Change()
    populateCB2 Replace(ComboBox1.Value, " ", "")
End Sub


-- 

HTH

Bob

"Jock" <Jock@discussions.microsoft.com> wrote in message 
news:A3FD16D6-75E6-45F0-B33C-1772FAEF5FE2@microsoft.com...
>I have been successful in getting CB2 to be dependant on the value selected
> in CB1 but only with single word items. When I try to adapt the code to 
> use
> two or more word options from CB1, I get the debug window. I realise why 
> this
> is happening - not allowed spaces or illegal characters - so I have been
> trying to use OFFSET to get around this but to no avail.
> I am losing hair over this one...
> So....how can I get a list of meaningful multi word options in CB1 upon
> which CB2 options are dependant?
>
> UserForm code (adapted from PM's code) :
>
> Option Explicit
>
> Private Sub UserForm_Initialize()
>    Dim cell As Range
>    For Each cell In Worksheets("claims").Range("ClType").Cells
>        ComboBox1.AddItem cell.Value
>    Next
> ComboBox1.Text = " < Claim type > "
> End Sub
>
> Private Sub ComboBox1_Change()
>    populateCB2 ComboBox1.Value
> End Sub
>
> Sub populateCB2(WotClaim As String)
>    Dim cell As Range
>    If ComboBox1.ListIndex = -1 Then Exit Sub
>    ComboBox2.Clear
>
>    For Each cell In Worksheets("Claims").Range("val." & WotClaim).Cells
>        ComboBox2.AddItem cell.Value
>    Next
>    ComboBox2.Text = " < Claim value  > "
>
> End Sub
>
> Thanks
>
> -- 
> Traa Dy Liooar
>
> Jock 


0
Reply Bob 3/19/2010 4:43:42 PM

Hi, i need something similar but i cant get it to work and this is the first post i see in weeks about what im looking for, but would it be possible for me to see a file with that code and see it work, tried it on me own and it doesn't work.

I tried simpler dependant comboboxes before that i can type each option manualy and have a case for every single option in the Cbox1, but now i cant do it manualy because the second combobox have at least 50 options and in CBox 1 at least 20 options, that would mean me writing at least 1000 diferent options. :S

I know you were asking a question, but you at least have been sucsesful in doing what i need.

expample of what i need. i have column A with Countries, and then for each country a have a seperate column that is titled with one country, followed by cities. This is not the real thing that i have in my project, but its pretty much the same thing, and its simpler to explain.

These columns are all dynamic ranges, so as i fill in more cities o countries the range gets bigger automaticly

Here is an example of how i have the first CBox:

Private Sub UserForm_Initialize()
  Dim cCountry As Range 'cell as range
  Dim ws As Worksheet
  Set ws = Worksheets("World_Map")  'Name of worksheet
  For Each cCountry In ws.Range("Country_List")'Range
    With Me.cbo_Country 'ComboBox1
      .AddItem cCountry.Value
    End With
  Next cCountry 
End Sub

Private Sub cbo_Country_Change()
    Updatecbo_City
End Sub

Sub Updatecbo_City()
    Dim ws As Worksheet
    Set ws = Worksheets("World_Map")

    ws.Activate
    
    Select Case cbo_City
        Case "Canada"
            cbo_City.RowSource = "Canada_City_List"

        Case "U.S.A"
            cbo_City.RowSource = "U.S.A_City_List"

        Case "Mexico"
            cbo_City.RowSource = "Mexico_City_List"
    End Select
    
End Sub

So As you see if i have more info it makes my life pretty tough and i would also need textboxes that are dependent to the second option, but i have that figured out. Just need to fin a code to make my ComboBox2 easier and dynamic.
If you could help i will appreciate, Regards Christian G.



Jock wrote:

Dependant ComboBox on a UserForm
19-Mar-10

I have been successful in getting CB2 to be dependant on the value selected
in CB1 but only with single word items. When I try to adapt the code to use
two or more word options from CB1, I get the debug window. I realise why this
is happening - not allowed spaces or illegal characters - so I have been
trying to use OFFSET to get around this but to no avail.
I am losing hair over this one...
So....how can I get a list of meaningful multi word options in CB1 upon
which CB2 options are dependant?

UserForm code (adapted from PM's code) :

Option Explicit

Private Sub UserForm_Initialize()
Dim cell As Range
For Each cell In Worksheets("claims").Range("ClType").Cells
ComboBox1.AddItem cell.Value
Next
ComboBox1.Text = " < Claim type > "
End Sub

Private Sub ComboBox1_Change()
populateCB2 ComboBox1.Value
End Sub

Sub populateCB2(WotClaim As String)
Dim cell As Range
If ComboBox1.ListIndex = -1 Then Exit Sub
ComboBox2.Clear

For Each cell In Worksheets("Claims").Range("val." & WotClaim).Cells
ComboBox2.AddItem cell.Value
Next
ComboBox2.Text = " < Claim value  > "

End Sub

Thanks

--
Traa Dy Liooar

Jock

Previous Posts In This Thread:


Submitted via EggHeadCafe - Software Developer Portal of Choice 
WPF Report Engine, Part 1
http://www.eggheadcafe.com/tutorials/aspnet/31ed1875-728d-4037-9074-4eba5c821311/wpf-report-engine-part-1.aspx
0
Reply Christian 3/24/2010 12:38:15 AM

2 Replies
921 Views

(page loaded in 0.051 seconds)

Similiar Articles:
















7/23/2012 4:25:16 AM


Reply: