Страницы: 1
RSS
Ошибка 1004 при попытке протянуть формулы
 
Помогите разобраться. Пытаюсь протянуть формулы до последней заполненной строки, но выходит ошибка, при том, в этом же коде, выше данный способ работает.
Код
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
Изменено: stolniy - 22.10.2021 10:09:31
 
Код не пробовал, но может у вас где-то вместо английской буквы С написана русская?
А во время работы макроса у вас активный лист Temp? А то у вас LastRow определяется по активному листу, а строки вы протягивает на листе Temp
Изменено: New - 22.10.2021 10:37:01
 
Цитата
New написал:... вас где-то вместо английской буквы С написана русская?
Вы Гений, ошибся с русской буквой  
Страницы: 1
Наверх