Actually Norman has the better loop method because whenever you delete rows,
you should always start at the bottom of the list and work your way up. Here
is Norman's original loop with the changes for stopping before the Header
and Date comparison.
Public Sub Test03()
Dim sh As Worksheet
Dim i As Long
Dim Lrow As Long
Dim rng As Range
Set sh = Sheets("Sheet1") '<<====== CHANGE
Lrow = Cells(Rows.Count, "K").End(xlUp).Row 'Finds the number of rows
in column K - if this is not a good column to determine the length of your
list then use a column that will.
For i = Lrow To 2 Step -1 'Loops from bottom to top- stops @ row 2.
Set rng = Range("K" & i)
If Not IsEmpty(rng) Then
If rng.Value < "0000" Then
If rng.Offset(0, 2).Value Date - 7 Then
rng.EntireRow.Delete
End If
End If
End If
Next
End Sub
Change Sheet1 to the name of your worksheet.
Until you are happy that this macro properly reflects your intentions, run
it on a copy of your workbook.
Mike F
"DKY" wrote in message
...
@ Mike
Here's what I got and its not working, Its like in an endless loop or
something, it just freezes up my screen.
Code:
--------------------
Public Sub conditional()
Dim i
i = "2"
Do While Range("A" & i).Value < ""
If Range("K" & i).Value < "" And Range("K" & i).Value < "0000" And
Range("M" & i).Value Now - 9 Then
Range("K" & i).EntireRow.Delete
i = (i = 1)
End If
Loop
End Sub
--------------------
--
DKY
------------------------------------------------------------------------
DKY's Profile:
http://www.excelforum.com/member.php...o&userid=14515
View this thread: http://www.excelforum.com/showthread...hreadid=387731