У меня есть макрос, содержащий строку, которая изменит формулу ячейки, используя тип формулы R1C1.

Формула:

    ActiveCell.FormulaR1C1 = _
    "=IF(R[0]C[-2]=0,"",(R[0]C[-20]-R[0]C[-16]))"

Когда я пытаюсь запустить макрос, всегда появляется диалоговое окно с сообщением

    Run-time error '1004':
    Application-defined or object-defined error.

И когда вы нажимаете кнопку отладки, она выделяет эти две строки в макросе. И я не могу понять, как это исправить. Кто-нибудь может помочь?

3 ответа3

2

вам не хватает закрывающей скобки

ActiveCell.FormulaR1C1 = _
    "=IF(R[0]C[-2]=0,"""",(R[0]C[-20]-R[0]C[-16]))"

Изменить: исправлено, чтобы вставить "" в формулу

0

Кажется, ваша проблема в кавычках, вы пытались изменить или избежать кавычек?

0

Попробуйте использовать это:

   ActiveCell.FormulaR1C1 = _
    "=IF(R[0]C[-2]=0," & Chr(34) & Chr(34) & ",(R[0]C[-20]-R[0]C[-16]))"

Помните, что эту формулу нельзя поместить перед столбцом 20, иначе возникнет ошибка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .