Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1720to1724
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

Combobox
12.11.2019 11:31:38
Bernd
Hallo, in Spalte B (Zeile 3-100) steht das Tagesdatum (mehrfach vorhanden). In Spalte C (Zeile 3-100) stehen Kundennummern.
Diese Daten sollen über zwei Comboboxen geholt werden. Wobei das Datum nur einmal vorkommen sollte.
Combobox1 = Datum und Combobox2 die Kundennummern.
Jedes einzelne für sich bekomme ich hin, aber nicht kombiniert.
Könnt Ihr mir da weiterhelfen?
LG
Bernd

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combobox2 abhängig von Combobox1
13.11.2019 06:52:25
Combobox1
Hallo Jochen,
leider nein.
In der ersten Box wird die Spalte mit dem Datum geladen. Doppelte Einträge sollen vermieden werden.
In der zweiten Box wird die Spalte mit den Kundennummern geladen.
Beispiel: Am 12.11.19 haben 5 Kunden vorgesprochen.
Box 1 erscheint das Datum nur einmal, in der Box 2 dann die 5 Kundennummern zur Auswahl.
LG
Bernd
Anzeige
AW: Combobox2 abhängig von Combobox1
13.11.2019 16:57:38
Combobox1
Hallo Bernd,
Du hättest mit dem Links ja auch einfach weiter googeln können :-)
hier mal etwas zu testen,
einmal als Combobox 1 und 2
Private Sub ComboBox1_GotFocus()
Sheets("Tabelle1").ComboBox1.Clear
Dim objDic As Object
Dim Bereich As Range
Dim Zelle As Range
Set objDic = CreateObject("Scripting.Dictionary")
Set Bereich = Sheets("Tabelle1").Range("B3:B100") 'relevanten Bereich ermitteln
For Each Zelle In Bereich
objDic(Zelle.Value) = 0 'Nur Unikate sammeln
Next
Sheets("Tabelle1").ComboBox1.List = objDic.keys 'Unikate der ComboBox zuweisen
End Sub
Private Sub ComboBox2_GotFocus()
Sheets("Tabelle1").ComboBox2.Clear
For ze = 3 To Cells(Rows.Count, 2).End(xlUp).Row
If Sheets("Tabelle1").Cells(ze, 2) = CDate(Sheets("Tabelle1").ComboBox1.Text) Then
ComboBox2.AddItem Sheets("Tabelle1").Cells(ze, 3)
End If
Next
End Sub

und einmal als ListBox 1 und 2
Private Sub ListBox1_GotFocus()
Sheets("Tabelle1").ListBox1.Clear
Dim objDic As Object
Dim Bereich As Range
Dim Zelle As Range
Set objDic = CreateObject("Scripting.Dictionary")
Set Bereich = Sheets("Tabelle1").Range("B3:B100") 'relevanten Bereich ermitteln
For Each Zelle In Bereich
objDic(Zelle.Value) = 0 'Nur Unikate sammeln
Next
Sheets("Tabelle1").ListBox1.List = objDic.keys 'Unikate der ComboBox zuweisen
End Sub
Private Sub ListBox2_GotFocus()
Sheets("Tabelle1").ListBox2.Clear
For x = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(x) = True Then
For ze = 3 To Sheets("Tabelle1").Cells(Rows.Count, 2).End(xlUp).Row
If Sheets("Tabelle1").Cells(ze, 2) = ListBox1.List(x) Then
ListBox2.AddItem Sheets("Tabelle1").Cells(ze, 3)
End If
Next
End If
Next
End Sub

Gruß
Jochen
Anzeige
AW: Beispiel-Arbeitsmappe?
13.11.2019 14:49:48
JoWE
AW: Beispiel-Arbeitsmappe?
14.11.2019 08:31:03
Bernd
Hallo, Upload leider nicht möglich.
Also, in Spalte B wird das Tagesdatum (Mehrfachnennung) erfasst, Ausgabe in Combobox 1. Damit das Datum nur einmal vorkommt nutze ich folgenden Code:
Private Sub UserForm_Initialize()
Dim hsh As Object, i As Long
Set hsh = CreateObject("Scripting.Dictionary")
With ActiveSheet
For i = 2 To .Cells(.Rows.Count, 2).End(xlUp).Row
hsh(.Cells(i, 2).Text) = 0
Next
End With
Me.ComboBox1.List = Application.Transpose(hsh.Keys)
End Sub
In Spalte C wird die Kundennummer erfasst. diese kommt nur einmal vor. Ausgabe in Combobox 2. Hier nutze ich folgenden Code:

Private Sub ComboBox1_Change()
Dim b As Range
Me.ComboBox2.Clear
For Each b In Range("B3:k100")
If b = Me.ComboBox1 Then Me.ComboBox2.AddItem b.Offset(0, 1)
Next b
End Sub
Soweit so gut. In der Combobox 3 möchte ich angezeigt bekommen, wenn in Spalte I ein Wert steht (Ja oder Leer). Und das bekomme ich (noch) nicht hin.
LG
Bernd
Anzeige
AW: Beispiel-Arbeitsmappe?
14.11.2019 12:26:21
JoWE
sorry,
ohne Beispiel-Arbeitsmappe macht so etwas keinen wirklichen Sinn.
Evtl. helfen ja meine Beispielcodes in der anderen Antwort irgendwie weiter.
Ich jedenfalls bin jetzt raus. Viel Glück weiterhin.
Gruß
Jochen

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige