Brian,
You can use something like this in your worksheet module of the sheet you are bringing back from. I have uploaded your sample file. Code is as follows ...
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
If Target.Row = 1 Then Exit Sub 'header row
If Not IsDate(Target.Value) = True Then
MsgBox "Please enter a valid date.", vbInformation, "ERROR"
Exit Sub
End If
Application.ScreenUpdating = False
Dim myMonth As String, longMonth As String, myDay As Long, _
c As Long, r As Long, rng As Range, foundRng As Range
Select Case month(Target.Value)
Case 1: myMonth = "Jan": longMonth = "January"
Case 2: myMonth = "Feb": longMonth = "February"
Case 3: myMonth = "Mar": longMonth = "March"
Case 4: myMonth = "Apr": longMonth = "April"
Case 5: myMonth = "May": longMonth = "May"
Case 6: myMonth = "Jun": longMonth = "June"
Case 7: myMonth = "Jul": longMonth = "July"
Case 8: myMonth = "Aug": longMonth = "August"
Case 9: myMonth = "Sep": longMonth = "September"
Case 10: myMonth = "Oct": longMonth = "October"
Case 11: myMonth = "Nov": longMonth = "November"
Case 12: myMonth = "Dec": longMonth = "December"
End Select
myDay = day(Target.Value)
On Error GoTo endMe
With Sheets(myMonth)
Set rng = .Cells.Find(longMonth & " " & myDay, , _
xlValues, , , True, False)
If Not rng Is Nothing Then
Set foundRng = rng.Offset(2, -2)
For c = 1 To 8
For r = 0 To 29
Target.Offset(r, c).Value = foundRng.Offset(r, c - 1).Value
Next r
Next c
Else
MsgBox "Cannot find a date match.", vbInformation, "ERROR"
End If
End With
endMe:
Application.ScreenUpdating = True
Err.Clear
End Sub
...