For Loop - If / Or

  • Thread starter Thread starter Richard
  • Start date Start date
R

Richard

Hi

I have created a loop, which has an or in the if argument

For i = 2 To FinalRow
If DATEDIFF("d", Cells(i, 6), Now) < 8 Or DATEDIFF("d", Cells(i, 6),
Now) = "" Then
Sheets("Project List").Cells(i, 1).Copy
Destination:=ActiveWorkbook.Sheets("Slide").Range("B1")

Can someone please explain why this isn't working. I am trying to loop
through a range of data and perform actions only on those where cells(i,6)
are either blank or the datediff is less than 8 ie a week or less

Many thanks in advance
Richard
 
Shouldn't it be

For i = 2 To FinalRow
If DATEDIFF("d", Cells(i, 6), Now) < 8 Or Cells(i,6).Value = "" Then
Sheets("Project List").Cells(i, 1).Copy
Destination:=ActiveWorkbook.Sheets("Slide").Range("B1")


--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)
 
First, using datediff with days is kind of overkill. You could just subtract
one from the other. The difference will be in days.

with activesheet
for i = 2 to finalrow
if .cells(i,6).value = "" _
or (date - .cells(i,6).value < 8) then
'do the work
end if
next i
end with
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top