Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1384to1388
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Comboboxen in Abhängigkeit
07.10.2014 09:28:25
Andreas
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

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Comboboxen in Abhängigkeit
07.10.2014 11:30:16
Andreas
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

erledigt.
08.10.2014 08:34:07
Andreas
Ich habe bei weiterer Recherche eine Lösung hier im Forum gefunden, die fast genau macht was ich suche.
mfg, Andreas
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige