Excellent stuff - I've been trying to redo:

Select Case Sh.Name
    Case "Rota", "Rota (2)"
to make it look at the Code name of the sheet (in the examples case Sheet2 and Sheet3) as opposed to the given name of the sheet as these tabs are going to be named by the name of the staff member so will be variable depending on each workbook.