Помогите разобраться. Пытаюсь протянуть формулы до последней заполненной строки, но выходит ошибка, при том, в этом же коде, выше данный способ работает.
Код
Sub Анализ_акции()
' Глеб
Dim dic As Object
Set dic = CreateObject("Scripting.Dictionary")
Dim ar As Range
Dim arrK, arrV, arrOne(1 To 1, 1 To 1)
Dim t!, r&, c&, n&, AC&
Dim LastRow As Long
'подтянули данные номенклатуры
Sheets("Номенклатура WB").Range("E:E").Copy Destination:=Sheets("Temp").Range("A:A")
Sheets("Номенклатура WB").Range("F:F").Copy Destination:=Sheets("Temp").Range("B:B")
Sheets("Номенклатура WB").Range("G:G").Copy Destination:=Sheets("Temp").Range("C:C")
'Sheets("Temp").Range("E:E").Value = Sheets("Temp").Range("E:E").Value
'Sheets("Temp").Range("E:E").NumberFormat = "0"
'подтянули данные по акциям WB
Sheets("Данные WB акции").Range("E:E").Copy Destination:=Sheets("Temp").Range("M:M")
Sheets("Данные WB акции").Range("I:O").Copy Destination:=Sheets("Temp").Range("N:T")
'сцепляем артикул и цвет
Sheets("temp").Range("D2").FormulaR1C1 = "=CONCAT(RC[-2],""_"",RC[-1])"
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
Sheets("temp").Range("D2").AutoFill Destination:=Sheets("temp").Range("D2:D" & LastRow) 'тут работает
Sheets("temp").Range("D:D").Value = Sheets("Temp").Range("D:D").Value
Sheets("temp").Range("B:C").Delete Shift:=xlUp
'Убираем дубликаты
Sheets("Temp").Range("$A:$B").RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
'через ВПР подставляем значения
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
Sheets("Temp").Range("C2").FormulaR1C1 = "=VLOOKUP(RC1,C11:C18,2,FALSE)"
Sheets("temp").Range("С2").AutoFill Destination:=Sheets("temp").Range("С2:C" & LastRow) 'тут спотыкается
Sheets("Temp").Range("D2").FormulaR1C1 = "=VLOOKUP(RC1,C11:C18,3,FALSE)"
Sheets("temp").Range("D2").AutoFill Destination:=Sheets("temp").Range("D2:D" & LastRow)
Sheets("Temp").Range("E2").FormulaR1C1 = "=VLOOKUP(RC1,C11:C18,4,FALSE)"
Sheets("temp").Range("E2").AutoFill Destination:=Sheets("temp").Range("E2:E" & LastRow)
Sheets("Temp").Range("F2").FormulaR1C1 = "=VLOOKUP(RC1,C11:C18,6,FALSE)"
Sheets("temp").Range("F2").AutoFill Destination:=Sheets("temp").Range("F2:F" & LastRow)
Sheets("Temp").Range("G2").FormulaR1C1 = "=VLOOKUP(RC1,C11:C18,7,FALSE)"
Sheets("temp").Range("G2").AutoFill Destination:=Sheets("temp").Range("G2:G" & LastRow)
Sheets("Temp").Range("H2").FormulaR1C1 = "=VLOOKUP(RC1,C11:C18,8,FALSE)"
Sheets("temp").Range("H2").AutoFill Destination:=Sheets("temp").Range("H2:H" & LastRow)
End Sub
Код не пробовал, но может у вас где-то вместо английской буквы С написана русская? А во время работы макроса у вас активный лист Temp? А то у вас LastRow определяется по активному листу, а строки вы протягивает на листе Temp