Range.Formula = в VBA выдает странную ошибку - PullRequest
1 голос
/ 12 ноября 2009

Это кроме кода VBA

summ = "СУММ(AQ" + Format(first) + ":AX" + Format(last - 1) + ")"
cell = "AQ" + Format(last) + ":AX" + Format(last)
r.range(cell).Formula = "=" + summ 

следует вставить формулу, например, =СУММ(DW6:EI18) в DW19.

(СУММ - русское локализованное имя для SUM)

То, что происходит, - то, что правильная формула выше появляется в ее надлежащем месте, но показывает ошибку #NAME. Если я выделю ячейку, наведу курсор на формулу и нажму ввод, формула не изменится, но начнет работать.

Как заставить код выше работать?

Ответы [ 4 ]

6 голосов
/ 12 ноября 2009

Вам нужно установить FormulaLocal вместо Formula, потому что вы используете русские имена функций.

r.range(cell).FormulaLocal = "=" + summ

3 голосов
/ 04 октября 2011

У меня была такая же проблема, но с другой функцией.

Я исправляю проблему с указанием названия всех функций на английском языке. Я имею в виду функцию O -> Или функцию SI -> IF и т. Д.

Я работаю в испанской версии.

Надеюсь, мой ответ будет полезным.

0 голосов
/ 13 ноября 2009

Я думаю, что это ответ FormulaLocal от Marg (1-й ответ), хотя OP не пометил его. В самой формуле нет ничего плохого.

0 голосов
/ 12 ноября 2009

Попробуйте вместо этого

summ = "=СУММ(AQ" + Format(first) + ":AX" + Format(last - 1) + ")"
cell = "AQ" + Format(last) + ":AX" + Format(last)
r.range(cell).Formula = summ
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...