Показать сообщение отдельно
  #1  
Старый 18.11.2016, 10:16
Red_Garry Red_Garry вне форума
Начинающий
 
Регистрация: 07.07.2011
Сообщения: 126
Репутация: 10
По умолчанию Вставить формулу в Excel

Здравствуйте!
Можно ли как-то вставить формулу в ячейку рабочего листа с использованием функции, определённой пользователем?
Код:
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 - это пользовательская функция. Кстати, она проверенная и работает нормально в "чистом" екселе, но при попытке вставить её программно вылетает ошибка см.картинку
Изображения
Тип файла: jpg err.JPG (27.3 Кбайт, 2 просмотров)
Ответить с цитированием