if and then

D

D.

Hi I am having a problem with this code, it gets stuck in a loop even
when I set it up to work

The Start and Finish ranges are dates

Sheets("Sheet1").Select
Range("E2").Select
Do Until ActiveCell = ""

If ActiveCell.Value >= Range("Start") Then
If ActiveCell.Value <= Range("Finish") Then
ActiveCell.Rows("1:1").EntireRow.Copy
Destination:=Sheets("Sheet2").Range("A4000").End(xlUp).Offset(3, 0)

ActiveCell.Offset(1, 0).Range("A1").Select

End If
End If

Loop

ActiveCell.Columns("A:F").EntireColumn.EntireColumn.AutoFit


I have all the date ranges formated as "mmm. dd, yyyy"


Thanks for the help.
 
R

Roger Govier

Hi

You need to take the line
ActiveCell.Offset(1, 0).Range("A1").Select

to the line after 2 End If statements.

If Cell E2 is before Start, then ActiveCell never gets stepped up.
 
D

D.

Thanks alot, it loops fine now, but it is copying and pasting
everything into sheet2


Here is the code I have come up with



Sheets("Sheet1").Select
Range("E2").Select
Do While ActiveCell.Value <> ""

If ActiveCell.Value >= Range("Start") <= Range("Finish") Then
ActiveCell.Rows("1:1").EntireRow.Copy
Destination:=Sheets("Sheet2").Range("A4000").End(xlUp).Offset(1, 0)


End If
Sheets("Sheet1").Select

ActiveCell.Offset(1, 0).Range("A1").Select

Loop

What should I change for the conditions to be met??
 
R

Roger Govier

Hi

The following seemed to work fine for me

Sub test()
Sheets("Sheet1").Select
Range("E2").Select
Do Until ActiveCell = ""
If ActiveCell.Value >= Range("Start") Then
If ActiveCell.Value <= Range("Finish") Then
ActiveCell.EntireRow.Copy _
Destination:=Sheets("Sheet2").Range("A4000").End(xlUp).Offset(3, 0)

End If
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Loop
End Sub
 

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

Top