Hi khaledalaydi, Another faster way like this.
Private Sub test()
Dim arr, i&, d As Object, sdate$, c&, ky, sht As Worksheet
Set d = CreateObject("scripting.dictionary")
arr = Sheets("09-05").[a1].CurrentRegion
c = UBound(arr, 2)
For i = 2 To UBound(arr)
If arr(i, 1) <> "Time Stamp" Then
sdate = Split(arr(i, 1), " ")(0)
If Not d.exists(sdate) Then
Set d(sdate) = Cells(i, 1).Resize(, c)
Else
Set d(sdate) = Union(d(sdate), Cells(i, 1).Resize(, c))
End If
End If
Next i
Application.ScreenUpdating = False
On Error Resume Next
For Each ky In d.keys
Set sht = Sheets(ky)
If sht Is Nothing Then
Set sht = Sheets.Add(after:=Sheets(Sheets.Count))
sht.Name = ky
sht.[a1].Resize(, c) = Application.Index(arr, 1)
End If
r = sht.[a65536].End(3).Row + 1
d(ky).Copy sht.Cells(r, 1)
Set sht = Nothing
Next
Application.ScreenUpdating = True
End Sub