delete old date vba

hy ,
have column A filed with dates, need macro to delete old dates (offset (-1, 2))

example:
now is   16.02.2011 19:45
                     A

1       01.02.2011 19:45

2       02.02.2011 19:45

3                                                    macro will delete range A1:C3 and shift cells up

4                

5       19.02.2011 15:00

6       20.02.2011 14:45

7

8       26.02.2011 15:00
thmhAsked:
Who is Participating?
 
Deepak LakkadCommented:
Hi

Create a Macro, name it "DeleteDates".

Write following code for the macro.


Sub DeleteDates()
'
' DeleteDates Macro
'

'
StartPoint:
    
    Range("A1").Select
    If Range("A1").Value < DateTime.Now Then
        Selection.Delete Shift:=xlUp
        GoTo StartPoint
    Else
        Exit Sub
    End If
End Sub

Open in new window


Run the macro, it will delete records

- Deepak Lakkad
0
 
Eric ZwiekhorstSAP Business ConsultantCommented:
Dear THNM,

how can the macro distinguish what is OLD dates?
Do you mean everything before now?

Then your macro would be something like

Sub deleteold()
Dim dateold, datenew As Variant
dateold = Format(Cells(1, 1), "d-MM-yyyy hh:mm:ss")
datenew = Format(Now(), "d.MM.yyyy hh:mm:ss")
While dateold < datenew
Cells(1, 1).EntireRow.Delete
dateold = Format(Cells(1, 1), "d-MM-yyyy hh:mm:ss")
datenew = Format(Now(), "d.MM.yyyy hh:mm:ss")
Wend

End Sub
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.