Я пытался часами, и он продолжает показывать сообщение об ошибке.
ОШИБКА ВРЕМЕНИ РАБОТЫ 1004 - Ошибка выбора метода класса диапазона
Может кто-нибудь помочь указать отключение?
Спасибо.
Добавление столбца D к необработанным данным в качестве индекса для поиска
Результат, который я хотел бы получить хотел бы иметь
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
Файлы: ссылка на вложение Excel