Laufzeitfehler bei Filterkriterium VBA
21.06.2020 20:32:10
Stefan
dank UweDs Hilfe funktioniert das Makro nach Kriterien zu filtern wunderbar.
Jedoch hat sich jetzt ein Laufzeitfehler 1004 eingeschlichen und ich weiß nicht wieso es ausgerechnet an Kriterium 16 scheitert.
Alle anderen Kriterien funtionieren einwandfrei und ich konnte durch rumprobieren das Kriterium 16 als Fehlerquelle identifizieren.
Kann es ein das sich Kriterium 16 & Kriterium13 gegenseitig im Wege sind ?
Eigentlich dürfte dies kein Probem sein, da es bei Kriterium13 & 16 nicht der gleiche Field ist beim filtern.
Wenn ich Kriterium 16 statt als "" mit z.B. "Text" deklariere, funktioniert es, nur nicht um leere Zellen auszufiltern.
Hier der VBA Code
Sub Filtern2()
Dim Kriterium1$, Kriterium2$, Kriterium3$, Kriterium4$, Kriterium5$, Kriterium6$, Kriterium7$, _
Kriterium8$, Kriterium9$, Kriterium10$, Kriterium13$, Kriterium14$, Kriterium15$, Kriterium16$
With Sheets("Tabelle1")
If .AutoFilterMode Then .AutoFilterMode = False
'Filterbereich Inhalte bei V20:W39
Kriterium1 = .Cells(29, 22)
Kriterium2 = .Cells(39, 22)
Kriterium3 = .Cells(38, 22)
Kriterium4 = .Cells(37, 22)
Kriterium5 = .Cells(36, 22)
Kriterium6 = .Cells(35, 22)
Kriterium7 = .Cells(24, 22)
Kriterium8 = .Cells(25, 22)
Kriterium9 = .Cells(26, 22)
Kriterium10 = .Cells(27, 22)
Kriterium13 = "=" 'nur leere Zeilen anzeigen
Kriterium14 = .Cells(15, 22)
Kriterium15 = .Cells(16, 22)
Kriterium16 = "" 'leere Zeilen ausfiltern
.Range("$A$5:$M$5").AutoFilter Field:=6, _
Criteria1:=Array(Kriterium1, Kriterium2, Kriterium3, Kriterium4, Kriterium5, _
Kriterium6, Kriterium7, Kriterium8, Kriterium9, Kriterium10), _
Operator:=xlFilterValues
.Range("$A$5:$M$5").AutoFilter Field:=9, _
Criteria1:=Array(Kriterium13, Kriterium14), _
Operator:=xlFilterValues
.Range("$A$5:$M$5").AutoFilter Field:=8, _
Criteria1:=Array(Kriterium15), _
Operator:=xlFilterValues
.Range("$A$5:$M$5").AutoFilter Field:=7, _
Criteria1:=Array(Kriterium13), _
Operator:=xlFilterValues
.Range("$A$5:$M$5").AutoFilter Field:=6, _
Criteria1:=Array(Kriterium16), _
Operator:=xlFilterValues
End With
End Sub