Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1912to1916
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 auf Tabelle

ComboBox auf Tabelle
21.12.2022 12:09:18
philipp
Guten Tag zusammen,
ich habe eine ComboBox auf meiner Tabelle Plaziert.
Ich möchte das bei der Auswahl bzw. Eingabe von Buchstaben, mir eine Auswahl der vorhandenen Produkte
angezeigt werden.
Tabellenname: Lager-Bestand
ComboBox1.RowSource = "Lager-Bestand!C2:D1000"
es sollte also in der Spalte C + D gesucht werden.
Geht das überhaupt, ich habe leider in Google nur was von einer Spalte gefunden.
mfg philipp

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox auf Tabelle Ergänzung
21.12.2022 12:15:36
philipp
Hallo,
ich habe dies gefunden:
Dim arrDaten
Dim lngLetzte As Long
With Worksheets("Lager-Bestand")
lngLetzte = .Cells(Rows.Count, 2).End(xlUp).Row
arrDaten = .Range(.Cells(3, 3), .Cells(lngLetzte, 4))
ComboBox1.List = arrDaten
End With
getestet aber es wird nur in Spalte C gesucht.
Es sollte dann die Tabelle die ausgewählten Zeilen angezeigt bzw. gefiltert werden.
mfg philipp
AW: ComboBox auf Tabelle Ergänzung
21.12.2022 12:44:26
Yal
Hallo Philipp,

Dim Z As Range
With Worksheets("Lager-Bestand")
ComboBox1.Clear
For Each Z In Range(.Cells(2, "C"), .Cells(Rows.Count, "D"))
'altern:        For Each Z In .Range("C2:D1000")
ComboBox1.AddItem = Z.Value
Next
End With
VG
Yal
Anzeige
Hallo Yal
21.12.2022 13:56:49
philipp
Hallo Yal,
dein Beispiel klappt leider nicht.
mfg philipp
AW: Hallo Philipp
21.12.2022 14:42:44
Yal
ja, ich habe erst durch den Code von Rudi verstanden, was Du haben wolltest. Ich bin natürlich weit davon entfernt.
VG
Yal
AW: ComboBox auf Tabelle
21.12.2022 13:17:46
Rudi
Hallo,
das geht so nicht.
Nimm eine Textbox zur Eingabe des Suchbegriffs und eine Listbox für die Ausgabe der Treffer
Code für Textbox:

Private Sub TextBox1_Change()
With ListBox1
.ColumnCount = 2
.List = GetList(TextBox1)
End With
End Sub
In ein Modul:

Function GetList(strMatch As String)
Dim objROW As Object, oObj
Dim arrIN, arrOUT(), i As Long
Set objROW = CreateObject("scripting.dictionary")
strMatch = "*" & LCase(strMatch) & "*"
With Sheets("Lager-Bestand")
arrIN = .Range(.Cells(2, 3), .Cells(Rows.Count, 4).End(xlUp)).Value
End With
For i = 1 To UBound(arrIN)
If LCase(arrIN(i, 1)) Like strMatch Or LCase(arrIN(i, 2)) Like strMatch Then
objROW(i) = 0
End If
Next i
If objROW.Count Then
i = 0
ReDim arrOUT(1 To objROW.Count, 1 To 2)
For Each oObj In objROW
i = i + 1
arrOUT(i, 1) = arrIN(oObj, 1)
arrOUT(i, 2) = arrIN(oObj, 2)
Next oObj
Else
ReDim arrOUT(1 To 1, 1 To 2)
arrOUT(1, 1) = "NoMatch"
End If
GetList = arrOUT
End Function
Alles ungetestet und optimierbar.
Gruß
Rudi
Anzeige
AW: ComboBox auf Tabelle
21.12.2022 13:48:07
Rudi
kleine Korrektur: Function muss ByVal sein.

Function GetList(ByVal strMatch As String)
Gruß
Rudi
Super aber ...
21.12.2022 14:20:25
philipp
Hallo Rudi,
super, soweit klappt es.
Wenn ich in der Textbox was eingebe, wird dies in der Listbox angezeigt.
Da aber mehrere Artikel vorhanden sin und mit Farbe zum Beispiel unterscheiden, müßte
dann die Tabelle entsprechend gefiltert werden.
Wenn nichts in der Textbox steht, sollte Listbox auch geleert werden.
Geht das alles ?
mfg philipp
Bitte mal schauen !
21.12.2022 15:53:37
philipp
Hallo,
ich habe gerade das gefunden.

Private Sub ComboBox1_Change()
Dim fi$
If bolFocus = True Then Exit Sub
fi = ActiveSheet.ComboBox1.Text
Range("b2:i2").Select
If Not ActiveSheet.AutoFilterMode Then
Selection.AutoFilter
End If
If fi = "ALLE" Then
ActiveSheet.AutoFilter.Range.AutoFilter Field:=3
' ActiveSheet.AutoFilter.Range.AutoFilter Field:=4
Else
ActiveSheet.AutoFilter.Range.AutoFilter Field:=3, Criteria1:=fi & "*"
End If
End Sub
Problem:
Wenn ich einen Buchstaben eingebe, wird gefiltert alles i.o.
Wenn ich 2 Buchstaben eingeben will, springt der Curser in B2.
mfg philipp
Anzeige
Ich habe eine Lösung -)
21.12.2022 16:13:49
philipp
Hallo zusammen,
ich habe für mich eine Lösung gefunden:

Private Sub ComboBox1_Change()
Dim FI$
If bolFocus = True Then Exit Sub
FI = ActiveSheet.ComboBox1.Text
With Selection
.AutoFilter Field:=3, Criteria1:=FI & "*"
End With
End Sub
herzlichen Dank und schöne Weihnachten !
mfg philipp

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige