Thanks Sam,
I came up with the following, which I think does the same job
Sub Macro2()'
' Macro2 Macro
'
Range("A1").Select
Do Until IsEmpty(ActiveCell)
If ActiveCell.Value >= TimeSerial(23, 0, 0) And ActiveCell.Value >= TimeSerial(7, 0, 0) Then
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.Copy
ActiveCell.Offset(0, 2).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(1, -3).Range("A1").Select
End If
Loop
End Sub
Although probably not as graceful as yours, although i've only been coding a few weeks and generally have no clue at all!