ich habe eine Tabelle, in der stehen viele Termin untereinander. ICh setze mit folgendem Code einen Filter auf dem Arbeitsblatt, um alle alten Termine auszublenden.
Private Sub Worksheet_Activate()
'Filter setzen
Dim Datum As Date
Datum = Format(Now(), "DD.MM.YYYY")
Rows("3:3").AutoFilter Field:=1, Criteria1:=">" & CDbl(Datum)
End Sub
Mit folgeendem Code suche ich auf dem zweiten Arbeitsblatt nach der Zeile, die ich löschen will. "h" ist dabei die Koordinate und variable, die jeder zeile mitgegeben wurde.
Private Sub Worksheet_Change(ByVal target As Range)
if target.value = "D" Then
If MsgBox("Soll dder Termin gelöscht werden?", vbYesNo, "Hinweis") = vbYes Then
'Eintrag "Ja"
Dim RaFound As Range
Set RaFound = Tabelle1.Cells.Find(h, , , xlWhole, xlByRows, xlNext)
If Not RaFound2 Is Nothing Then Tabelle1.Rows(RaFound2.Row).Delete
MsgBox ("Termin wurde gelöscht!")
Set RaFound2 = Nothing
Else
'Eintrag "Nein"
target.Value = ""
End If
End Sub
Wenn ich jetzt den Autolfilter setze, dann findet er meine Zeile nicht mehr. Ohne Autofilter (erster Code) funktioniert alles einwandfrei. Woran kann das liegen?