Find data between dates

  • Thread starter Thread starter Kirsty
  • Start date Start date
K

Kirsty

I have a macro that is designed to look for dates on one sheet in cells A1
and A2 then match that to dates on another sheet in colum D before putting
all the information into a third sheet. I have this macro

j = 1
For i = 1 To Sheets("Grades").UsedRange.Rows.Count
If (Sheets("Grades").Cells(i, 3) >= Sheets("Monthly
reporting").Cells(1, 1) And Sheets("Grades").Cells(i, 1) <= Sheets("Monthly
reporting").Cells(2, 1)) Then
Sheets("Grades").Rows(i).Copy Sheets("Grade calc").Rows(j)
j = j + 1
End If
Next i

and it is not working. Any suggestions
 
Hi Kirsty,

The logic of the code appears OK. However, you say "look for dates on one
sheet in cells A1 > and A2 then match that to dates on another sheet in colum
D"

Your code does not look in column D on the second sheet for the match; it is
looking in column 1 (or A).

Perhaps it should be like this:-

For i = 1 To Sheets("Grades").UsedRange.Rows.Count
If Sheets("Grades").Cells(i, 3) >= _
Sheets("Monthly reporting").Cells(1, 4) And _
Sheets("Grades").Cells(i, 1) <= _
Sheets("Monthly reporting").Cells(2, 4) Then

Sheets("Grades").Rows(i).Copy _
Sheets("Grade calc").Rows(j)
j = j + 1
End If
Next i


Did you also know that you can use "D" in lieu of the column number like the
following. I agree with someone on this forum that pointed this out to me
that it makes the code easier to read and debug if you know exactly what
column is being referred to.

j = 1
For i = 1 To Sheets("Grades").UsedRange.Rows.Count
If Sheets("Grades").Cells(i, 3) >= _
Sheets("Monthly reporting").Cells(1, "D") And _
Sheets("Grades").Cells(i, 1) <= _
Sheets("Monthly reporting").Cells(2, "D") Then

Sheets("Grades").Rows(i).Copy _
Sheets("Grade calc").Rows(j)
j = j + 1
End If
Next i
 

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