ich habe bei der Umsetzung eines Makros, um Autofilter in mehreren Spalten zu setzen, ein Problem.
Hintergrund:
Es geht darum in einer Tabelle mit vielen Materialien, denen Eigenschaften zugeordnet sind, per Makro vergleichbare Materialien zu finden.
Dazu kopiere ich die Eigenschaftswerte mehrerer Spalten des gefilerten Materials und möchte diese dann als Autofilter setzen.
Dies klappt bis auf eine Spalte ohne Probleme.
In der Spalte, die Probleme macht, sind Werte, - aber der Autofilter lässt keinen Zahlenfilter (z.B. "größer als" oder "zwischen") zu.
Er setzt zwar den Wert/die Werte aber "zeigt/findet" keine Zeilen - unabhängig davon, ob ich die Werte im Makro als Variable oder "fest" reinschreibe.
Vielleicht kann mir jemand sagen, woran dies liegt und wie ich es lösen kann.
Ich bin da mit meinem Latein am Ende.
Hier mal mein momentaner Code und die XLS-Tabelle.
In dem Beispiel soll bei der Auswahl des Materials 01-1006 alle Breiten >124cm, alle Blattdicken +/- 10% von 0,08 und im Sortenschlüssel 1 und 2 nur A bzw. Z angezeigt werden. D.h. Nr. 01-1005, 01-1006 und 01-1007.
https://www.herber.de/bbs/user/108998.xlsx
Sub test_Autofilter()
Dim Bereich As String
Dim Feld1 As Variant, Feld2 As Double, Feld3 As String, Feld4 As String
Dim Toleranz_Blattdicke As Double
Dim Blattdicke_Untergrenze As Double, Blattdicke_Obergrenze As Double
Sheets("Tabelle1").Activate
Feld1 = Sheets(1).Range("C9") 'Breite
Feld2 = Sheets(1).Range("D9") 'Blattdicke
Feld3 = Sheets(1).Range("E9") 'Sortenschlüssel1
Feld4 = Sheets(1).Range("F9") 'Sortenschlüssel2
Toleranz_Blattdicke = Sheets(1).Range("D1")
If ActiveSheet.AutoFilterMode Then ActiveCell.AutoFilter
Bereich = "A2:F" & Cells(Rows.Count, 1).End(xlUp).Row
ActiveSheet.Range(Bereich).AutoFilter Field:=3, Criteria1:=">=" & Feld1
Blattdicke_Untergrenze = Round(Feld2 * (1 - Toleranz_Blattdicke), 2)
Blattdicke_Obergrenze = Round(Feld2 * (1 + Toleranz_Blattdicke), 2)
ActiveSheet.Range(Bereich).AutoFilter Field:=4, Criteria1:=">=" & Blattdicke_Untergrenze, _
Operator:=xlAnd, Criteria2:="
Danke für Eure Unterstützung im Voraus.
Viele Grüße
Matthias