Filtercode langsam
08.03.2018 05:09:49
Anja
irgendwie ist mein Thread im Archiv gelandet und kann nicht mehr beantwortet werden? Ursprungsthema: https://www.herber.de/cgi-bin/callthread.pl?index=1611592#1611592
Daraus hat sich schon folgender Code ergeben, um damit 1 Kriterium in 2 verschiedenen Spalten zu filtern. Dieser funktioniert auch sehr gut.
Sub Ausblenden()
Dim Zelle As Range
Dim Bereich As Range
Cells.EntireRow.Hidden = False
For Each Zelle In Range(Cells(5, 1), Cells(4, 1).End(xlDown))
If WorksheetFunction.CountIf(Zelle.Offset(0, 1).Resize(, 2), Range("C1").Value) = 0 Then
If Bereich Is Nothing Then
Set Bereich = Zelle
Else
Set Bereich = Union(Bereich, Zelle)
End If
End If
Next
If Not Bereich Is Nothing Then Bereich.EntireRow.Hidden = True
End Sub
Ich habe nur ein Problem. In der echten Datei dauert das Filtern sehr lange. Weiß jemand was das verursachen kann?In der Testdatei läuft alles einwandfrei. Ich habe auch versucht ein paar Sachen nachzustellen. Die Testdatei hat nun mehr KB als die Originale. Ich habe einige Formatierungen (Rahmenlinien, Farbfüllungen) vorgenommen und auch weitere Daten hinterlegt und zusätzliche Tabellenblätter mit Inhalt gefüllt. Außerdem habe ich ein paar bedingte Formatierungen hinzugefügt. So wie bei der Originalen bzw. jetzt noch mehr von allem.
Auch den Suchbereich habe ich erweitert. Denn im Original sind die zu durchsuchenden Spalten nicht direkt nebeneinander. Also habe ich "Resize" auf 4 gesetzt.
Aber all das führte nicht dazu, dass das Filtern länger dauert. Daher kann ich mir die Ursache einfach nicht erklären.