Здравствуйте!
Можно ли как-то вставить формулу в ячейку рабочего листа с использованием функции, определённой пользователем?
Код:
for k := 0 to 9 do
Begin
Sheet1.Range['AH'+ IntToStr(n+2+h)].value := '=sumproduct((AH5:AH' + IntToStr(n-1) + ')*(B5:B' + IntToStr(n-1) + '=' + IntToStr(1+y) + '))';
Sheet1.Range['AH'+ IntToStr(n+3+h)].value := '=SumByColor(C5:AG' + IntToStr(n-1) + ';' + IntToStr(1+y) + ')';
h := h + 2;
y := y + 1
end;
Первая формула вставляется без проблем - здесь применяется sumproduct - аналог вполне себе легальной функции рабочего листа СУММПРОИЗВ. При вставке второй формулы с использованием SymByColor вылетает ошибка. Может это потому что SymByColor - это пользовательская функция. Кстати, она проверенная и работает нормально в "чистом" екселе, но при попытке вставить её программно вылетает ошибка см.картинку