Страницы: 1
RSS
Вставка формулы макросом: ошибка "недопустимое имя"
 
Всем привет. Нужна ваша помощь.
В модуле VBA конкретной ячейке присваивается формула. После исполнения VBA-кода формула не срабатывает, а в соотв. ячейке имеет место  "Ошибка-недопустимое имя".  
Фрагмент кода:
Код
Set SW_1 = Application.ThisWorkbook.Worksheets(Sheet_Name)
.....
    SW_1.Range(SW_1.Cells(i + di - 1, stolb_1_symvol_del + 5).Address).Formula = "=СУММ(E492:E505)"

Результат на скриншоте-02.
НО если зайти в строку формул при активной (ошибочной) ячейке и нажать Enter, то формула срабатывает (см. на скриншоте-02 красную поз.2)
Я конечно понимаю, что можно по очереди "пройтись" по всем этим ячейкам с "Ошибкой" понажимать Enter, Но это не устраивает хотя бы потому, что в таблице их много и это не рационально.

Еще пробовал так:
Код
    Application.ReferenceStyle = xlR1C1
    SW_1.Range(SW_1.Cells(i + di - 1, stolb_1_symvol_del + 5).Address).FormulaR1C1 = "=СУММ(R[-1]C[-1]:R[-" & sum_n2 & "]C[-1])"
    Application.ReferenceStyle = xlA1

И так:
Код
    Application.ReferenceStyle = xlA1
    SW_1.Range(SW_1.Cells(i + di - 1, stolb_1_symvol_del + 5).Address).Formula = "=СУММ(E492:E505)"

Сам не могу допереть. Подскажите - в чём нюанс?

 
Изменено: ArtemonX - 31.01.2016 01:19:02
 
Кнопка оформления кода в сообщении - <...>
Лучше показывать пример в файле Excel, а не картинку

.Formula .FormulaLocal
 
ArtemonX, СУММ замените на SUM. Макрорекордер в помощь.
 
Или Formula на FormulaLocal
 
Цитата
vikttur написал: FormulaLocal
FormulaLocal применял - не помогло.
А вот замена СУММ  на SUM - это то!!!!!!!!
Макрорекордер в помощь - это как?
Пишем макрос по нужным ходам, а потом смотрим код? Как я сам до этого не дошел.
Спасибо за помощь!
Страницы: 1
Читают тему
Наверх