• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 385
  • Last Modified:

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
0
thmh
Asked:
thmh
2 Solutions
 
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

Featured Post

Learn to develop an Android App

Want to increase your earning potential in 2018? Pad your resume with app building experience. Learn how with this hands-on course.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now