Try this.
Option Explicit
Sub CompileData(WS As Worksheet, Col As Long)
Dim i As Long
Dim LastRow As Long
Dim Cel As Range
With WS
LastRow = .Range("A65536").End(xlUp).Row
For i = 9 To LastRow
Set Cel = Sheets("Wages").Range("A:A").Find( _
What:=WS.Range("A" & i).Value, _
LookIn:=xlValues, LookAt:=xlWhole)
If Not Cel Is Nothing Then
Sheets("Wages").Range(Cells(Cel.Row, Col).Address).Value = _
WS.Range(Cells(i, 6).Address).Value
Sheets("Wages").Range(Cells(Cel.Row, Col + 1).Address).Value = _
WS.Range(Cells(i, 7).Address).Value
End If
Next i
End With
End Sub
Sub Macro1()
Application.ScreenUpdating = False
Application.EnableEvents = False
Sheets("Wages").Range("D10:IV65536").clearcontents
Call CompileData(Sheets("Sunday"), 6)
Call CompileData(Sheets("Monday"), 8)
Call CompileData(Sheets("Tuesday"), 10)
Call CompileData(Sheets("Wednesday"), 12)
Call CompileData(Sheets("Thursday"), 14)
Call CompileData(Sheets("Friday"), 16)
Call CompileData(Sheets("Saturday"), 18)
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
I made a sheet called Wages and copied the layout and employee data from ROTA. See the attachment for more information.