Microsoft Excel

Herbers Excel/VBA-Archiv

CDate - 31 | Herbers Excel-Forum


Betrifft: CDate - 31 von: René
Geschrieben am: 09.01.2012 12:19:59

Hallo,
habe ein Makro, welches Daten löscht die älter als 31 Tage sind. Leider funktioniert das in diesem Jahr nicht mehr (Schaltjahr)
Könnt ihr mir einen Tipp geben was ich ändern muss.
Habe schon versucht anstatt bei Month -1 , bei Day -31 einzugeben. Das funzt aber auch nicht.
Bin für jede Hilfe dankbar.

Sub Schaltfläche7_Klicken()
Dim dat As Date
   Dim X As Integer
   
If Worksheets("Tabelle1").AutoFilterMode Then Sheets("Tabelle1").Rows("1:1").AutoFilter

dat = CDate(CStr(Day(Date) & "." & Month(Date) - 1) & "." & Year(Date))

X = 2
Do Until CDate(Sheets("Tabelle1").Cells(X, 1).Value) >= dat
Sheets("Tabelle1").Rows(X).Delete Shift:=xlShiftUp

Loop

Application.ScreenUpdating = True
ActiveWindow.DisplayHeadings = False

Sheets("Tabelle1").Activate

Application.DisplayAlerts = False


Application.DisplayAlerts = True
End Sub
Gruß René

  

Betrifft: AW: CDate - 31 von: Rudi Maintaire
Geschrieben am: 09.01.2012 12:27:44

Hallo,
dat=Date-31

Gruß
Rudi


  

Betrifft: AW: CDate - 31 von: René
Geschrieben am: 09.01.2012 12:34:37

Hallo Rudi,

herzlichen Dank. Das funktioniert. Manche Dinge sind so simpl. Blöd das ich da nicht selbst dahintergestiegen bin. Herzlichen Dank noch mal.
Gruß René