tommhii
Goto Top

Combobox in abhängigkeit einer anderen befüllen

Hallo
ich habe 2 comboboxen die combobox2 soll in abhängigkeit der Combobox1 befüllt werden.wenn der Wert in zelle b13 in der combobox ausgewählt wird soll die combobox2 nur die werte von c13-c17
wenn der wert b18 in combobox ausgewählt wird soll cbo2 wert c18-c24 anzeigen

hab mal hier was probiert geht aber nicht
was mache ich falsch

Private Sub ComboBox1_Change()

If Worksheets("Server").ComboBox1 = "b13" Then
Worksheets("Server").ComboBox2.Clear
Worksheets("Server").ComboBox2.AddItem "c13"
Worksheets("Server").ComboBox2.AddItem "C14"
Worksheets("Server").ComboBox2.AddItem "c15"
Worksheets("Server").ComboBox2.AddItem "C16"
Worksheets("Server").ComboBox2.AddItem "C17"


ElseIf Worksheets("Server").ComboBox1 = "b18" Then
Worksheets("Server").ComboBox2.Clear
Worksheets("Server").ComboBox2.AddItem "c18"
Worksheets("Server").ComboBox2.AddItem "C19"
Worksheets("Server").ComboBox2.AddItem "c20"
Worksheets("Server").ComboBox2.AddItem "C21"
Worksheets("Server").ComboBox2.AddItem "c22"
Worksheets("Server").ComboBox2.AddItem "C23"
Worksheets("Server").ComboBox2.AddItem "c24"
ElseIf ComboBox1 = "b25" Then
Worksheets("Server").ComboBox2.Clear
Worksheets("Server").ComboBox2.AddItem "c25"

'ElseIf ....

End If

End Sub


Danke erstmal

Content-ID: 116137

Url: https://administrator.de/forum/combobox-in-abhaengigkeit-einer-anderen-befuellen-116137.html

Ausgedruckt am: 23.12.2024 um 13:12 Uhr

76109
76109 15.05.2009 um 14:59:25 Uhr
Goto Top
Hallo tommhii,

Zitat von @tommhii:
hab mal hier was probiert geht aber nicht
was mache ich falsch

Das hier ist schon mal falsch
ElseIf ComboBox1 = "b25" Then  

Wenn Du Textvergleich machst, dann verwende den Like-Operator. Im Gegensatz zu "=" unterscheidet das Like nicht zwischen Groß- und Kleinschreibung.

Vorausgesetzt die ComboBox1 ist schon initialisiert, dann sollte das hier funktionieren:
Private Sub ComboBox1_Change()
    With Worksheets("Server")  
        If .ComboBox1 Like "b13" Then  
            Call InitCombBox2(13, 17)
        ElseIf .ComboBox1 Like "b18" Then  
            Call InitCombBox2(18, 24)
        ElseIf .ComboBox1 Like "b25" Then  
            Call InitCombBox2(25, 30)
        'ElseIf ....  
    
        End If
    End With
End Sub

Private Sub InitCombBox2(ByVal Von As Integer, ByVal Bis As Integer)
    Dim i As Integer
    With Worksheets("Server")  
       .ComboBox2.Clear
        For i = Von To Bis
            .ComboBox2.AddItem "c" & i  
        Next
       .ComboBox2.Text = "c" & Von  
    End With
End Sub

Gruß Dieter
tommhii
tommhii 18.05.2009 um 16:15:16 Uhr
Goto Top
Danke es klappt

hab nun noch eine Frage ich habe 6 Textboxen un 2 comboboxen und einen CommButton (eintragen) nun möchte ich das alle 6 Textboxen und die 2 comboboxen Pflichtfelder sind und man den command button erst betätigen kann wenn alles gefüllt wurde.

hat jemand eine Idee wie man das machen kann hab da schon was probiert wenn ich nur eine Textbox hätte klappt es

danke erstmal
76109
76109 19.05.2009 um 11:23:33 Uhr
Goto Top
Hallo tommhii,

so geht's:

CommButton.Enabled = False
CommButton.Enabled = True

Bedingung nicht erfüllt = False
Bedingung erfüllt = True

Gruß Dieter
tommhii
tommhii 19.05.2009 um 11:46:59 Uhr
Goto Top
Hallo didi1954,
und wie bau ich das in den code ein
76109
76109 19.05.2009 um 12:45:47 Uhr
Goto Top
Hallo tommhii ,

Zitat von @tommhii:
und wie bau ich das in den code ein

Sorry,aber ich kenne Deinen Code nicht.

Definiere im Eigenschaftsfenster von CommandButton -> "Enabled = False"
D.h. der CommandButton wird deaktiviert angezeigt.

Prüfe Deine TextBoxen auf gültigen Ihnalt und setze Enabled auf True, z.B. so:


If TextBox1.Text <> "" And TextBox2.Text <> "" And _  
   TextBox3.Text <> "" And TextBox4.Text <> "" And _  
   TextBox5.Text <> "" And TextBox6.Text <> "" Then CommandButton.Enabled = True  

Gruß Dieter
tommhii
tommhii 19.05.2009 um 13:13:59 Uhr
Goto Top
hallo Dieter,
danke es klappt
76109
76109 19.05.2009 um 13:20:59 Uhr
Goto Top
Hallo tommhii,

Zitat von @tommhii:
danke es klappt
prima, gern geschehen.

Gruß Dieter