Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Comboboxen in Abhängigkeit

Betrifft: Comboboxen in Abhängigkeit von: Andreas
Geschrieben am: 07.10.2014 09:28:25

Hallo Excelprofis,

Ich habe ein Userform mit 2 Comboboxen und einer Textbox.

ComboBoxOrt ist von der Auswahl in ComboBoxStr abhängig, TextBoxTransp wiederum von der Auswahl in ComboBoxOrt.

In ComboboxStr wird ein Wert eingegeben (oder ausgewählt) in ComboboxOrt stehen daraufhin ein oder mehrere Werte und in TextBoxTransp steht der Wert Z oder L.

ComboBoxOrt wird beim öffnen des Formulars aus dem Blatt Orte gefüllt, bei Auswahl eines Wertes in der ComboboxStr aber aus dem Blatt Strassen.

Das Problem:

Wird in ComboBoxStr ein Wert eingetragen, zu dem es eigentlich in ComboBoxOrt keinen Wert gibt, bleibt in ComboBoxOrt immer der zuletzt gefundene Wert stehen.

- Wenn in ComboBoxStr im Beispiel der Wert Akf eingegeben wird

Funktionieren sollte es folgendermaßen:

- wählt der User einen Ort mittels ComboBoxOrt aus soll in der Textbox der entsprechende Wert eingetragen werden (funktioniert)
- gibt der User selbst einen Ort ein zu dem kein entsprechender Wert vorhanden ist, soll die Textbox leer bleiben

- wird in ComboBoxStr ein Wert eingegeben zu dem es im Blatt Strassen keinen Wert gibt sollen die ComboBoxOrt und die TextboxTransp leer bleiben

Ich bin leider nicht so bewandert in VBA, vieles ist durch Recherche und die Hilfe hier im Forum entstanden.

https://www.herber.de/bbs/user/92992.xlsm

Kann mir bitte Jemand weiterhelfen.

Der verwendete Code:

Beenden des UserForm "Transportzone" und starten des UserForm "FormulareAufrufen"

Private Sub CommandButton2_Click()
Unload Transportzone
FormulareAufrufen.Show
End Sub
Alle Boxen leeren und UserForm neu starten
Private Sub CommandButton3_Click()
ComboBoxStr.Clear
ComboBoxOrt.Clear
TextBoxTransp.Value = ""
Unload Transportzone
Transportzone.Show

End Sub
TextBox - Hintergrund je nach Eintrag
Private Sub TextBoxTransp_Change()
If TextBoxTransp.Value = "Z" Then
TextBoxTransp.BackColor = RGB(204, 219, 169)
End If
If TextBoxTransp.Value = "L" Then
TextBoxTransp.BackColor = RGB(154, 183, 214)
End If


End Sub
ComboBoxen füllen beim öffnen des UserForm
Private Sub Userform_Initialize()
    
Dim lastrow As Integer
    lastrow = Worksheets("Strassen").Cells(65536, 1).End(xlUp).Row
    ComboBoxStr.List = Worksheets("Strassen").Range("A1:A" & lastrow).Value
    
    lastrow = Worksheets("Orte").Cells(65536, 1).End(xlUp).Row
    ComboBoxOrt.List = Worksheets("Orte").Range("A1:A" & lastrow).Value
    
End Sub
ComboBoxOrt nach Auswahl in ComboBoxStr füllen
Private Sub ComboBoxStr_Change()
Dim arr As Variant

If ComboBoxStr.ListIndex >= 0 Then
arr = Worksheets("Strassen").Range("B" & ComboBoxStr.ListIndex + 1 & ":J" & ComboBoxStr. _
ListIndex + 1)
ComboBoxOrt.Column = arr
ComboBoxOrt.ListIndex = 0
End If

End Sub
TextBox nach Auswahl ComboBoxOrt füllen
Private Sub ComboBoxOrt_Change()
Dim lastrow As Long
Dim gefunden As Range
With Worksheets("Orte")
    lastrow = .Cells(Rows.Count, 1).End(xlUp).Row
  Set gefunden = .Range("A1:A" & lastrow).Find(ComboBoxOrt.Value)
    If Not gefunden Is Nothing Then
        TextBoxTransp = gefunden.Offset(0, 1).Value
    End If
End With
End Sub
Schließkreuz ausschalten
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = vbFormControlMenu Then Cancel = True 'Schließkreuz ausschalten
End Sub
Ich hoffe es ist einigermaßen verständlich.

Danke fürs lesen!

mfg, Andreas

  

Betrifft: AW: Comboboxen in Abhängigkeit von: Hajo_Zi
Geschrieben am: 07.10.2014 10:46:07

Hallo Andreas,

siehe Di das Beispiel an.

http://hajo-excel.de/chCounter3/getfile.php?id=105

GrußformelHomepage


  

Betrifft: AW: Comboboxen in Abhängigkeit von: Andreas
Geschrieben am: 07.10.2014 11:30:16

Hallo Hajo,

Danke für die Antwort!

Dieses Beispiel hatte ich bei meiner Recherche schon gefunden. Da die Daten für die ComboBoxen etwas umfangreicher sind als in meiner Beispielmappe, kommt eine Zuordnung über das Tabellenblatt nicht in Frage. Es muss auch die Möglichkeit bestehen eigene Werte in die Comboboxen einzutragen.

mfg, Andreas


  

Betrifft: erledigt. von: Andreas
Geschrieben am: 08.10.2014 08:34:07

Ich habe bei weiterer Recherche eine Lösung hier im Forum gefunden, die fast genau macht was ich suche.

mfg, Andreas


 

Beiträge aus den Excel-Beispielen zum Thema "Comboboxen in Abhängigkeit"