ich möchte beim Öffnen einer Arbeitsmappe alle Daten löschen die älter als ein Monat sind. Das funktioniert auch wenn ich das Makro über eine Schaltfläche händisch starte. Aber wenn ich es in die Workbook Open schreibe kommt in der Zeile x = 2 Variable nicht definiert. Könnt ihr mir bitte einen Tipp geben.
Option Explicit
Private Sub Workbook_Open()
Worksheets("Ampel").Activate
Dim dat As Date
If Worksheets("Ampel").AutoFilterMode Then Sheets("Ampel").Rows("1:1").AutoFilter
On Error GoTo em:
dat = CDate(CStr(Day(Date) & "." & Month(Date) - 1) & "." & Year(Date))
x = 2
Do Until CDate(Sheets("Ampel").Cells(x, 1).Value) >= dat
Sheets("Ampel").Rows(x).Delete Shift:=xlShiftUp
Loop
Exit Sub
em: MsgBox ("Systemfehler!")
End Sub
MfG René