Excel VBA Макросы. Макрос неправильно вставляет формулу - формула возвращает ошибку #ИМЯ?

Автор Driver, 06 февраля 2022, 14:42

Driver

Я написал макрос, который вставляет в эксель-ячейку формулу.
Но формула вставляется неправильно - формула возвращает ошибку "#ИМЯ?".
Формула вставляется с помощью этого кода:
ActiveCell.FormulaR1C1 = "=Coord(J_X1,J_Y1,J_Z1,RC[-3],RC[-2],RC[-1])"

В формулу подставляются переменные J_X1, J_Y1, J_Z1 и на местах этих переменных формула возвращает ошибку "#ИМЯ?".

Почему вместо переменных возвращается ошибка "#ИМЯ?"?

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

Вы заключили переменные в кавычки, после чего переменные стали восприниматься как текст, т.е. VBA подставил в формулу не значения, которые находятся внутри переменных, а просто их имена.
Правильно так:
ActiveCell.FormulaR1C1 = "=Coord(" & J_X1 & "," & J_Y1 & "," & J_Z1 & ",RC[-3],RC[-2],RC[-1])"

Код не тестировал, возможно есть где-нибудь ошибка.