Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1296to1300
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
Inhaltsverzeichnis

Combobox in Abhängigkeit

Combobox in Abhängigkeit
19.02.2013 10:14:05
Andreas
Hallo Excelprofis!
Ich habe mir ein UserForm mit 6 Comboboxen und einem "DTPicker1" erstellt. ComboBox1 wird mit Inhalt aus dem Blatt Daten befüllt. Die Comboboxen 2 bis 6 sollen jetzt in Abhängigkeit zur ComboBox1 gefüllt werden, wobei die Comboboxen 2 bis 5 den gleichen Inhalt haben. Nur Combobox6 hat einen anderen Inhalt.
Ich habe die betreffenden Bereiche mit Namen definiert. Es können auch mehrere Einträge in ComboBox1 zur gleichen Abhängigkeit in den restlichen Comboboxen führen.
Ein Beispiel:
Auswahl ComboBox1 - Text1 oder Text2 oder Text3.... Eintrag in Comboboxen 2 bis 5 = Namensbereich3
... Eintrag in ComboBox 6 = Namensbereich4
Auswahl ComboBox1 - Text4 .... Eintrag in ComboBox 2 bis 5 = Namensbereich2
.... Eintrag in ComboBox6 Namensbereich5
usw.
Die Namensbereiche können auch Leerzellen enthalten oder ganz leer sein.
Der Anwender soll dann aus ComboBox1 und ja nach Bedarf aus den restlichen einen Eintrag wählen können. Dies soll dann per Commandbutton in besdtimmte Zellen geschrieben und gedruckt werden.
Das bekomme ich aber bestimmt hin. Ich will nur damit sagen, dass später aus den Comboboxen 2 bis 5 nicht immer ein Wert gewählt wird. Falls das wichtig ist.
Ich habe zwar einiges im Forum zu meinem Problem gefunden, kann es aber nicht umsetzen.
Ich bin Dankbar für jede Hilfe.
mfg, Andreas

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

Betreff
Datum
Anwender
Anzeige
Hab schon den Anfang gefunden, bitte um Hilfe
19.02.2013 14:34:47
Andreas
Hallo Excelprofis!
Ich habe schon den Anfang gefunden. Mein Code sieht bis jetzt so aus:
Option Explicit
Private Sub UserForm_activate()
ComboBox1.RowSource = "Daten"
End Sub

Private Sub ComboBox1_Change()
If ComboBox1.Text = "Einbauherd" Then
ComboBox2.RowSource = "Ausstattung02"
ElseIf ComboBox1.Text = "Waschvollautomat" Then
ComboBox2.RowSource = "Ausstattung05"
Else
ComboBox2.RowSource = ""
End If
ComboBox2.ListIndex = -1
End Sub
Wie muss das aussehen wenn z.B. statt Einbauherd mehrere Wörter stehen (Einbauherd, Standherd).
Wie kann ich noch weitere Comboboxen ansteuern
(If ComboBox1.Text = "Einbauherd" Then
ComboBox2.RowSource = "Ausstattung02" und
Combobox3.RowSource = "Ausstattung02" und
Combobox6..RowSource = "Ausstattung07")
Kann mir Jemand weiterhelfen.
Danke!
mfg, Andreas

Anzeige
AW: Hab schon den Anfang gefunden, bitte um Hilfe
19.02.2013 14:42:47
fcs
Hallo Andreas,
bei If könntest du die Bedingungen mit Or verbinden
If A = 2 or A = 7 Or A = 9 then
elseif A = 3 then
'usw.
Else
End if

Hier ist es aber einfacher mit "Select Case" zu arbeiten.
Gruß
Franz
Private Sub ComboBox1_Change()
Dim strBereich_2_5 As String, strBereich_6 As String
'Bereichsnamen festlegen abhängig vom Inhalt von Combobox1
Select Case Me.ComboBox1.Value
Case "Text1", "Text2", "Text3"
strBereich_2_5 = "Namensbereich3"
strBereich_6 = "Namensbereich5"
Case "Text4"
strBereich_2_5 = "Namensbereich2"
strBereich_6 = "Namensbereich4"
'usw. mit den weiteren Case-Prüfungen
Case Else
MsgBox "Für Auswahl in Combobox1 ist kein Bereich für die " _
& "anderen Comboboxen festgelegt", vbInformation, "Makro: Combobox1_Change"
End Select
'Auswahlbereich der anderen Comboboxen setzen
If strBereich_2_5  "" Then
If strBereich_2_5  Me.ComboBox2.RowSource Then
With Me.ComboBox2
.RowSource = strBereich_2_5
.ListIndex = -1
End With
With Me.ComboBox3
.RowSource = strBereich_2_5
.ListIndex = -1
End With
With Me.ComboBox4
.RowSource = strBereich_2_5
.ListIndex = -1
End With
With Me.ComboBox5
.RowSource = strBereich_2_5
.ListIndex = -1
End With
End If
If strBereich_6  Me.ComboBox6.RowSource Then
With Me.ComboBox6
.RowSource = strBereich_6
.ListIndex = -1
End With
End If
Else
'Listboxen zurücksetzen - Bereich zu Wert in Combobox1 fehlt
With Me.ComboBox2
.RowSource = ""
.ListIndex = -1
End With
With Me.ComboBox3
.RowSource = ""
.ListIndex = -1
End With
With Me.ComboBox4
.RowSource = ""
.ListIndex = -1
End With
With Me.ComboBox5
.RowSource = ""
.ListIndex = -1
End With
With Me.ComboBox6
.RowSource = ""
.ListIndex = -1
End With
End If
End Sub
Private Sub CommandButton1_Click()
'Eintragen der Auswahlwerte - Beispiel
Dim Zeile As Long
If Me.ComboBox1.ListIndex  -1 Then
Zeile = ActiveCell.Row
With ActiveSheet
.Cells(Zeile, 1) = Me.DTPicker1.Value
.Cells(Zeile, 2) = Me.ComboBox1.Value
If Me.ComboBox2.ListIndex  -1 Then .Cells(Zeile, 3) = Me.ComboBox2.Value
If Me.ComboBox3.ListIndex  -1 Then .Cells(Zeile, 4) = Me.ComboBox3.Value
If Me.ComboBox4.ListIndex  -1 Then .Cells(Zeile, 5) = Me.ComboBox4.Value
If Me.ComboBox5.ListIndex  -1 Then .Cells(Zeile, 6) = Me.ComboBox5.Value
If Me.ComboBox6.ListIndex  -1 Then .Cells(Zeile, 7) = Me.ComboBox6.Value
End With
ActiveCell.Offset(1, 0).Select
Else
MsgBox "Bitte erst Wert in Combobox1 auswählen", vbInformation, _
"Makro: Commandbutton1_Click"
End If
End Sub

Anzeige
Vielen Dank!
19.02.2013 15:11:15
Andreas
Hallo fcs!
Vielen Dank für die Hilfe. Das funktioniert ja super.
Nen schönen Tag noch!
mfg, Andreas

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige