Excel VBA Макросы: Ошибка 1004 метод range... при использовании в макросе формулы.

Автор milahka, 06 ноября 2018, 13:53

milahka

Изучаю макросы, делаю подстановку значений по критерию из первого столбца. Пробую через ВПР. Выходит ошибка 1004.
Может и не очень правильно, если подскажите другое решение, буду благодарна.

Макрос вставляет на активный лист (активным листом должен быть лист 'Таблица'), в столбец L формулу.
Формула берёт табельный номер из листа 'Таблица', из столбца A и ищет этот табельный номер на листе 'Лист3', в столбце A. Если найден табельный номер, то на лист 'Таблица' вставляются данные из листа 'Лист3' из найденной строки из столбца 3. Если не найдено, то формула подставляет значение ПП.

Sub Формула()
Dim ILastRow As Long
ILastRow = Cells(Rows.Count, 1).End(xlUp).Row
   Range(L2 & ":L" & ILastRow).FormulaR1C1 = "=IF(ISNA(VLOOKUP(R2C[-11]:R487C[-11],Лист3!R1C[-11]:R73C[-9],2,0)),""ПП"",VLOOKUP(R2C[-11]:R487C[-11],Лист3!R1C[-11]:R73C[-9],3,0))"
   Range(L2 & ":L" & ILastRow).Value = Range(L2 & ":L" & ILastRow).Value 'вставляет значение
  End Sub

[вложение удалено администратором]

Администратор

L2 нужно заключить в кавычки:

Sub Формула()
    Dim lr As Long
    lr = Cells(Rows.Count, 1).End(xlUp).Row
    Range("L2:L" & lr).FormulaR1C1 = _
        "=IF(ISNA(VLOOKUP(R2C[-11]:R487C[-11],Лист3!R1C[-11]:R73C[-9],2,0)),""ПП"",VLOOKUP(R2C[-11]:R487C[-11],Лист3!R1C[-11]:R73C[-9],3,0))"
    Range("L2:L" & lr).Value = Range("L2:L" & lr).Value 'вставляет значение
End Sub

Возможно вы бы увидели проблему, если бы у вас была включена опция 'Option Explicit': https://forumvba.ru/index.php?topic=402.0

milahka