Try this
I like to use variable names to help me keep the logic straight in my head
Note that if you could search for "Date" you wouldn't need the 4X's marker
edit -- for some weird formatting reason, the rng X X X X variable shows as *'s
Option Explicit
Sub test2()
Dim rngS As Range
Dim rngD As Range
Dim rng***X As Range
Dim rngTopLeft As Range, rngTopRight As Range, rngBottomRight As Range
Set rng***X = Sheets("Temp").Range("A:A").Find("***x", lookat:=xlWhole)
If rng***X Is Nothing Then
MsgBox "Table Start Point Not Found", 0, "Check Error"
Exit Sub
End If
Set rngTopLeft = rng***X.Offset(0, 1) '="Date"
Set rngTopRight = Sheets("Temp").Cells(rngTopLeft.Row, Sheets("Temp").Columns.Count).End(xlToLeft) '="Name"
Set rngBottomRight = rngTopRight.End(xlDown)
Set rngS = Range(rngTopLeft.Offset(1, 0), rngBottomRight)
Set rngD = Sheets("Complete").Range("B" & Rows.Count).End(xlUp).Offset(1)
rngS.Copy
rngD.PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub