AW: Autofilter erweitern
26.11.2016 23:18:48
fcs
Hallo Gerhard,
im ganzen Makro ist nirgend vom Autofilter die Rede.
Hier werden im Makro alle Zeilen abgearbeitet und Zellinhalte mit Textboxinhalten verglichen und bei Nicht-Übereinstimmung ausgeblendet.
Effektiver Einsatz des Autofilters sieht anders aus. Er wird in Spalte B allerdings durch die Mischung von Zahlenwerten und Texten erschwert.
Dein "Filtermakro" muss zur Einbeziehung der Spalte D mit den Werten aus Spalte D wie folgt aussehen:
Sub bb()
Application.ScreenUpdating = False
Dim rng As Range
Dim zell As Range
Dim Letzte As Long
Letzte = LastRow(ThisWorkbook.ActiveSheet)
Set rng = ActiveSheet.Range(ActiveSheet.Cells(3, 1), ActiveSheet.Cells(Letzte + 1, 1))
rng.Rows.EntireRow.Hidden = False
For Each zell In rng
If UCase(zell.Value) Like UCase("*" & TextBox1.Value & "*") Then x = 1
If UCase(zell.Offset(0, 1).Value) Like UCase("*" & TextBox2.Value & "*") Then x = x + 1
If zell.Offset(0, 3).Value >= ActiveSheet.Range("D1").Value _
And zell.Offset(0, 3).Value
Zusätzlich solltest du das folgende Makro ergänzen. so dass bei Datumseingaben in D1 oder E1 der Filtervorgang ebenfalls gestartet wird.
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address(False, False, xlA1)
Case "D1", "E1"
If Target.Value > 0 And IsDate(Target.Value) And Me.Range("E1") >= Me.Range("D1") _
Then
Call bb
Else
MsgBox "Datumseingabe nicht korrekt, kein Datum oder D1 > E1"
End If
End Select
End Sub
Gruß
Farnz