Give this a try. It assumes that Date is in column C and sheet code names are sheet1 and sheet2
Sub MoveRows()
On Error GoTo ErrHandler
Dim dStartDate As Date
Dim dEndDate As Date
'Collect Start & End Dates
dStartDate = CDate(InputBox("Enter Start Date", "Valid Format - mm/dd/yyyy"))
dEndDate = CDate(InputBox("Enter End Date", "Valid Format - mm/dd/yyyy"))
'Find Dates Between Start Date & End Date and move to sheet 2
Sheet1.Activate
'Assume column C contains the dates
Application.Range("C1").Select
'Look at every row in column C until it finds an empty cell.
Do Until ActiveCell.Value = vbNullString
'Verify that the date is between the Start Date & End Date
If ActiveCell.Value > dStartDate And ActiveCell.Value < dEndDate Then
'If it is, cut the entire row
ActiveCell.EntireRow.Cut
'Activate sheet 2
Sheet2.Activate
'Find the first blank row on sheet 2
Application.Range("A1").Select
Do Until ActiveCell.Value = vbNullString
ActiveCell.Offset(1, 0).Select
Loop
'Paste the row from sheet 1
ActiveSheet.Paste
'Return to sheet 1
Sheet1.Activate
'Delete the blank row
ActiveCell.EntireRow.Delete
'Move back down up row. The delete pushed us down one to many rows
ActiveCell.Offset(-1, 0).Select
End If
'Move down one row
ActiveCell.Offset(1, 0).Select
Loop
ExitHandler:
Exit Sub
ErrHandler:
Dim sMessage As String
sMessage = "An error has occured. This Macro will end"
sMessage = sMessage & vbCrLf
sMessage = sMessage & "Error Number - "
sMessage = sMessage & Err.Number
sMessage = sMessage & vbCrLf
sMessage = sMessage & "Error Description - "
sMessage = sMessage & Err.Description
MsgBox sMessage, vbCritical, "Macro Error"
Resume ExitHandler
End Sub
Hope this helps.
Jerid
Hallo Jerid. Thanks for your quick response in my mail. But i am afraid that i am doing something wrong because i get some error messages that i can't figure out what they mean. Can you send me an .xls file that contains same data and the macro you've send me, so that i can run the macro step by step and debug it so that i can see what the #$@!&* i am doing wrong? Maybe it has something to do with my settings. Anyway, i would like to thank you once again for the time you've spent in my request.
PS. You can send the file to dvlavianos@cosmote.gr
'Collect Start & End Dates dStartDate = CDate(InputBox("Enter Start Date", "Valid Format - mm/dd/yyyy")) dEndDate = CDate(InputBox("Enter End Date", "Valid Format - mm/dd/yyyy"))