Maybe:
Option Explicit
Sub Test()
Dim sSht, lLR As Long, lNR As Long, cell As Range
Dim shTarget As Worksheet: Set shTarget = Sheets("Sheet1")
Dim cal
cal = Array("Incident Data", "Change Data", "Task Data")
Application.ScreenUpdating = False
For Each sSht In cal
With Sheets(sSht)
lLR = .Range("Q" & .Rows.Count).End(xlUp).Row
For Each cell In .Range("Q17:Q" & lLR)
If cell.Value = "Y" Then
With shTarget
lNR = .Range("Q" & .Rows.Count).End(xlUp).Offset(1, 0).Row
End With
cell.EntireRow.Copy _
shTarget.Range("A" & lNR)
End If
Next cell
End With
Next 'cell
Application.ScreenUpdating = True
End Sub
Amazed you didn't get asked to change the thread title but I guess "help with last row" covers it.
Regards, TMS
Bookmarks