I've tried for hours and it keeps showing error message.
RUN TIME ERROR 1004 - Select method of range class failed
Could some one help to point the busg out?
Thank you.
Adding Column D to raw data as index for lookup

The result I'd like to have

Sub Macro()
    ActiveSheet.Name = "Data"
    Sheets("Data").Select
    Dim LastRowData As Long
    LastRowData = Range("A" & Rows.Count).End(xlUp).Row
    Columns("D:D").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("D1") = "Lookup"
    Range("D2") = "=RC[-3]&RC[-1]"
    Range("D2").Select
    Selection.AutoFill Destination:=Range("D2:D" & Rows.Count)
    Columns("D:D").Copy
    Columns("D:D").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Name = "Promo"
    Range("A1") = "Date"
    Range("B1") = "SKUs"
    Range("C1") = "Customer"
    Range("D1") = "Regular $"
    Range("E1") = "Promo $"
    Dim iData As Variant
    Dim LastEntry As Variant
    Dim PreviousLast As Variant
    DayofMonth = Sheets("Data").Cells(1, Sheets("Data").Columns.Count).End(xlToLeft).Column - 5
    LastEntry = DayofMonth * (LastRowData - 1)
    For iData = 1 To LastEntry
            Sheets("Data").Select
            Range("F1:AJ1").Select
            Selection.Copy
            PreviousLast = Cells(Rows.Count, "A").End(xlUp).Row
            Sheets("Promo").Range("A2").Select
            Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
                False, Transpose:=True
            Sheets("Promo").Range("B" & PreviousLast + 1 & ":B" & (DayofMonth + PreviousLast + 1)) = Sheets("Data").Range("A" & iData).Value
    Next iData
    Sheets("Promo").Select
    Range("E2") = _
        "=VLOOKUP(RC[-3]&RC[-2], Data!$D:$AJ, MATCH(Promo!RC1, Data!R1, 0)-3, 0)"
    Range("E2").FillDown
        Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
 
    