Schleife durch filter-Kriterien
Ich habe versucht, dies herauszufinden, aber auch kein Fortschritt...
Ich habe einen filter (SPALTE D) und ich bin versucht, zu erstellen eine Schleife, um die einzelnen Kriterien (ich habe mindestens 1000 Kriterien) auf meinen filter.
Ex: Für die einzelnen Kriterien über filter (Spalte D), werde ich laufen eine Reihe kopieren...
Dass code, der nicht funktioniert:
Sub WhatFilters()
Dim iFilt As Integer
iFilt = 4
Dim iFiltCrit As Integer
Dim numFilters As Integer
Dim crit1 As Variant
ActiveSheet.Range("$A$1:$AA$4635").AutoFilter Field:=16, Criteria1:= _
"Waiting"
numFilters = ActiveSheet.AutoFilter.Filters.Count
Debug.Print "Sheet(" & ActiveSheet.Name & ") has " & numFilters & " filters."
If ActiveSheet.AutoFilter.Filters.Item(iFilt).On Then
crit1 = ActiveSheet.AutoFilter.Filters.Item(iFilt).Criteria1
For iFiltCrit = 1 To UBound(crit1)
Debug.Print "crit1(" & iFiltCrit & ") is '" & crit1(iFiltCrit)
'Copy everything
Next iFiltCrit
End If
End Sub
Mein Fehler scheint zu sein, identifizieren meine Spalte filter...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß, das war fragte vor einer Weile, aber ich habe nicht gesehen, etwas, das ich als copy-paste bereit. hier ist, was ich kam mit. Es sollte funktionieren, für unbegrenzte Kriterien. Es entsteht eine neue Platte namens "temp", die gelöscht werden können, sobald Sie fertig sind.
Dieser arbeitete für mich
If Not ActiveSheet.AutoFilterMode Then Exit Sub End If
(siehe aktualisierte code-snippet oben)iFilt=4
vom ursprünglichen code snippit. Sie können Schleife um zu testen, jeder der aktiven AutoFilter zu sehen, die man aktiviert und dann eine Schleife in das autofilter-Kriterien. Bitte sehen Sie sich den code oben aktualisiert..Criteria1
gibt eine einfache Zeichenfolge anstelle eines Arrays von strings. Ich veränderte den code oben mal wieder zu zeigen, dass meine überprüfen Sie, dies zu vermeiden. Ich kann wählen Sie mehrere Spalten filtern Sie jetzt und Holen Sie sich die debug-Ausgabe zu zeigen, alle von Ihnen.