activeCell.FormulaR1C1 =
"=SUM(" & activeCell.Offset(0, -2).Address & "+" & activeCell.Offset(0, -4).Address & "+" & activeCell.Offset(0, -6).Address & "+" & activeCell.Offset(0, -8).Address & "+" & activeCell.Offset(0, -10).Address & ")"
Удалите СУММУ, используйте однократное сложение.
—
Акина
@ MátéJuhász Какой у тебя activeCell? В этом случае это не имеет значения - существует некоторая ActiveCell (если не сообщение об ошибке должно отличаться), и все выражения выражений ссылаются на нее (формула локализована на листе). Может быть, OFFSET вытесняет его с листа? Это можно обнаружить на этапе расчета, а не при вводе формулы.
—
Акина
@ MátéJuhász Да. При назначении формулы ячейке с использованием кода VBA условие «вне рабочего листа» не проверяется, поэтому оно не может быть источником рассматриваемой ошибки. Это должна быть «Ошибка приложения или объекта» из-за ошибки в методе Offset.
—
Акина
Если вы хотите использовать СУММУ то ,,
—
Раджеш
Activecell.Formula = "=SUM(G13,I13,K13)"
+
вSUM
функции Excel, либо используете разделитель списка (,
или;
), либо не используетеSUM
. 2. Какой у вас activeCell? Может быть,OFFSET
вытесняет это с листа?