View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
RonaldoOneNil RonaldoOneNil is offline
external usenet poster
 
Posts: 117
Default conditions are met but actions not (always) taken

It will be something to do with your loop around the rows, because when you
do an EntireRow.Delete then rows below will move up. Are you remaining on the
current row after a delete ? or moving 1 row down which would miss the row
below that has just moved up ?

"David Macdonald" wrote:

I've got a database sheet of about 3000 rows with a date column (values from
2004 up to yesterday).
When I run this:
If cell.Value < (CDate(Now) - 2) Then cell.Interior.ColorIndex = 6
all the cells up to three days ago turn yellow, as they should.

But when i run this:
If cell.Value < (CDate(Now) - 2) Then EntireRow.Delete
about half the rows are deleted but I still have hundreds of dates from
years ago.
I've tried splitting the "If" into:
If cell.Value < (CDate(Now) - 2) Then
EntireRow.Select
Selection.Delete
End if
but the result is the same.

Can anyone explain why I'm getting different results and how this apparently
random selection is taking place?

--
WinXP - Office2003 (Italian)