Hallo Nico,
Bist du sicher, dass der Macrorecorder das genauso ausspuckt? Erstens heißt die Eigenschaft Range und nicht Ranges. zweitens führt Autofilter:=5 bei mir zu einem Kompilierungsfehler.
Critiera2 ist dafür gedacht wenn du mehrere Kriterien hast. In deinem Fall kannst du das auch über Criteria 1 handeln. Probier mal folgenden Code. Den kopierst du in das Tabellenmodul wo du deine Daten hast.
1 2 3 4 5 6 7 | Private Sub Worksheet_Change( ByVal Target As Range)
If Not Intersect(Target, Range( "C15" )) Is Nothing Then
If IsDate(Target) Then
ActiveSheet.Range( "a1:h108" ).AutoFilter Field:=5, Criteria1:= CDate (Target)
End If
End If
End Sub
|
Wenn du das lieber über Criteria2 handeln willst, dann probier stattdessen diesen Code:
1 2 3 4 5 6 | Private Sub Worksheet_Change( ByVal Target As Range)
If IsDate(Target) Then
ActiveSheet.Ranges( "A1:H108" ).AutoFilter Field:=5, Operator:= _
xlFilterValues, Criteria2:=Array(2, Target)
End If
End Sub
|
Falls dir dabei nichts angezeigt wird, dann ersetzte Array(2, Target) durch Array(2, CDate(Target))
Bedenke dass du den Bereich A1 bis H108 filterst. Wenn du das Datum also in Zelle C15 eingiebst, wird die Zeile 15 mit ausgeblendet. Um ein neues Datum setzen zu können, musst du jedesmal den Filter zurück auf Alle setzen. Such dir also lieber eine freie Zelle in Zeile 1 für die Eingabe des Datums.
Gruß Mr. K.
|