Anzeige
Archiv - Navigation
1892to1896
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
03.08.2022 16:08:32
Marc
Hi all
Ich versuche über eine Combobox mit 3 Filtern eine Tabelle zu filtern und diese dann zu kopieren. Wenn im 1. Filter eine Auswahl markiert wird, dann müsste die beiden weiteren Filtern nur noch die entsprechenden Daten enthalten. Am Schluss würde ich dann gerne die gewählten Filterkriterien in eine sep. Tabelle schreiben.
Hat hier jemand einen Code-Vorschlag für mich? Ich habe nichts gefunden, was ich selber abändern könnte.
Dankeschön.
Grüsse
Marc

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combobox
03.08.2022 16:53:12
Nepumuk
Hallo Marc,
zum Weiterentwickeln:

Option Explicit
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex > -1 Then
With Tabelle1
If .FilterMode Then Call .ShowAllData
End With
Call ComboBox2.Clear
Call ComboBox3.Clear
Call Tabelle1.AutoFilter.Range.AutoFilter(Field:=1, Criteria1:=ComboBox1.Text)
Call FillBox(2)
End If
End Sub
Private Sub ComboBox2_Change()
If ComboBox2.ListIndex > -1 Then
Call ComboBox3.Clear
Call Tabelle1.AutoFilter.Range.AutoFilter(Field:=2, Criteria1:=ComboBox2.Text)
Call FillBox(3)
End If
End Sub
Private Sub ComboBox3_Change()
If ComboBox3.ListIndex > -1 Then
Call Tabelle1.AutoFilter.Range.AutoFilter(Field:=3, Criteria1:=ComboBox3.Text)
End If
End Sub
Private Sub UserForm_Initialize()
With Tabelle1
If .FilterMode Then Call .ShowAllData
End With
Call FillBox(1)
End Sub
Private Sub FillBox(ByVal pvlngColumn As Long)
Dim objDataObject As DataObject
Dim objDictionary As Object
Dim strText As String
Dim avntValues As Variant, vntItem As Variant
Set objDictionary = CreateObject(Class:="Scripting.Dictionary")
Set objDataObject = New DataObject
With Tabelle1.AutoFilter.Range
Call Range(.Cells(2, pvlngColumn), .Cells(.Rows.Count, pvlngColumn)).Copy
End With
With objDataObject
.GetFromClipboard
strText = .GetText
End With
Set objDataObject = Nothing
Application.CutCopyMode = False
strText = Left$(strText, Len(strText) - 2)
avntValues = Split(strText, vbCrLf)
For Each vntItem In avntValues
objDictionary.Item(vntItem) = vbNullString
Next
Controls("ComboBox" & CStr(pvlngColumn)).List = objDictionary.Keys
Set objDictionary = Nothing
End Sub
Gruß
Nepumuk
Anzeige
AW: Combobox
05.08.2022 08:57:02
Marc
Hallo Nepumuk
Vielen herzlichen Dank für die Rückmeldung und den Code-Vorschlag. Ich habe es noch nicht ganz zum laufen gebraucht und vielen Dank für den Code.
Beste Grüsse
Marc

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige