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

Autofilter-Combox Werte verschieben sich

Autofilter-Combox Werte verschieben sich
16.07.2020 07:20:02
henrik
Hallo zusammen.
Ich brauche nochmal eure Hilfe.
Ich habe eine Tabelle, deren Spalten über VBA mittels mehrerer Comboboxen gefiltert werden sollen, eine Combobox pro Spalte, absolut kein Hexenwerk.
Jetzt verschiebt sich aber der manuell ausgewählte Combobox-Wert während der VBA-Berechnung und springt in der Liste eins nach oben, sodass falsch gefiltert wird. Das passiert nur mit dem zweiten Wert, die erste Combobox wird korrekt gefiltert. Die Datei findet ihr hier: https://www.herber.de/bbs/user/139086.xlsm
Könnt ihr euch das bitte mal anschauen? Fällt euch eine Lösung ein? Möchte eigentlich nicht die Filterung aufstückeln und nach jedem Combobox-Change einzeln filtern (das bringt dann wieder Probleme mit sich, dass beim Rücksetzen der Combobox das Filtermakro ausgeführt wird etc..).
Beispiel in "Geometrie Kopf" "Quadratisch" eingeben und in "Farbe" "weiß" springt der Fabwert auf "V2A", anscheinend weil das in der Combobox-liste darüber steht.
Die Ausgabe der Comboboxwerte auf die sich der Filter bezieht ist in Z97 (hatte eigentlich direkt dauf die Combobox.value bezogen, aber zum debugging ausgelagert - selbes Problem).
Z99-Z115 ist die duplikat-bereinigte Comboboxliste und darunter die zu filternde Haupttabelle.
Die Fragmente oben bitte ignorieren, der Code ist nur ein Ausschnitt.
Public objname As String
Public auswahl As String
Private Sub Workbook_open()
'---------- Anzahl Zeilen Combobox anpassen ----------
ComboBox1.ListRows = Range("E98").Value
ComboBox2.ListRows = Range("G98").Value
ComboBox3.ListRows = Range("I98").Value
ComboBox4.ListRows = Range("K98").Value
ComboBox5.ListRows = Range("N98").Value
ComboBox6.ListRows = Range("O98").Value
End Sub
'////////////////////////////////////////////////////////////////////////// Katalog aufbauen /// _
Public Sub CommandButton1_Click()
Dim i As Integer
Dim j As Integer
Dim h As Integer
Dim oPic As Object
Dim rngZelle As Range
'Application.ScreenUpdating = False
'---------- Tabelle filtern -----------------
If TextBox2.Value  "" Then
Range("D117:AA318").AutoFilter Field:=16, Criteria1:=TextBox2.Value
Else
If TextBox3.Value  "" Then
Range("D117:AA318").AutoFilter Field:=17, Criteria1:="=*" & TextBox3.Value & "*"
Else
If Cells(97, 5).Value  "" Then
MsgBox ComboBox1.Value
Range("D117:AA318").AutoFilter Field:=2, Criteria1:=Cells(97, 5).Value
End If
If Cells(97, 7).Value  "" Then
MsgBox ComboBox2.Value
Range("D117:AA318").AutoFilter Field:=4, Criteria1:=Cells(97, 7).Value
End If
If Cells(97, 9).Value  "" Then
MsgBox ComboBox3.Value
Range("D117:AA318").AutoFilter Field:=6, Criteria1:=Cells(97, 9).Value
End If
If Cells(97, 11).Value  "" Then
Range("D117:AA318").AutoFilter Field:=8, Criteria1:=Cells(97, 11).Value
End If
If ComboBox5.Value  "" Then
Range("D117:AA318").AutoFilter Field:=10, Criteria1:=Cells(97, 13).Value
End If
If ComboBox6.Value  "" Then
Range("D117:AA318").AutoFilter Field:=12, Criteria1:=Cells(97, 15).Value
End If
End If
End If
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter-Combox Werte verschieben sich
16.07.2020 07:29:00
henrik
Ich glaub ich hab meinen Fehler erkannt...
die 2. Combobox-Liste wird ja nach der filterung durch die erste CB verändert, da sich die live aus der tabelle abbildet..
ich müsste also nur die einmal ausgewählten CB-werte fest irgendwo hinschreiben damit sich die während der filterung nicht anpassen.. vermute ich mal.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige