Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 709
Default For Loop - If / Or

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
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 10,593
Default For Loop - If / Or

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)



"Richard" wrote in message
...
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



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default For Loop - If / Or

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



Richard wrote:

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


--

Dave Peterson
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Loop to Filter, Name Sheets. If Blank, Exit Loop ryguy7272 Excel Programming 3 February 5th 08 03:41 PM
Naming Worksheets - Loop within a loop issue klysell Excel Programming 5 March 29th 07 05:48 AM
(Complex) Loop within loop to create worksheets klysell Excel Programming 1 March 20th 07 12:03 AM
Advancing outer Loop Based on criteria of inner loop ExcelMonkey Excel Programming 1 August 15th 05 05:23 PM
Problem adding charts using Do-Loop Until loop Chris Bromley[_2_] Excel Programming 2 May 23rd 05 01:31 PM


All times are GMT +1. The time now is 03:12 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"