Как ввести формулу суммы в Excel

Уважаемые мастера.Столкнулся вот с какой проблемой. Вставляю в таблицу Excel массив данных следующим образомvar  ArrVar: OLEVariant;  Excel.WorkBooks[1].WorkSheets[1].Range["A1", "E4"]:=ArrVar;Один из вставляемых столбцов содержит string переменную с функцией суммы типа “=СУММ(K4:M4)+СУММ(Q4:X4)+СУММ(AC4:AD4)+СУММ(AF4:AH4)+СУММ(AT4:BB4)”.При работе с пакетом MSOffice 2000 все прекрасно работало и результат этой функции нормально отображался в сформированном документе. А вот после перехода на MSOffice XP и 2003 результат стал отображаться вот в таком виде #####. При этом если в Excel-документе выделить ячейку с функцией, установить курсор на строке, отображающем эту функцию и нажать Enter, то результат функции начинает нормально отображаться (т.е. ошибки в формуле нет). Думается мне, что у Excel-документа должна быть какая-нибудь функция типа Refresh, после которой все начнет отображаться, хотя могу и ошибаться.Может быть, кто-нибудь сталкивался с этой проблемой и нашел ее решение? В общем, очень нужен совет.

Странно что у тебя в MSOffice 2000 все работало. Например у меня MSOffice 2000 не хотел понимать такие формулы типа =СУММ(K4:M4)+ и т.п.Попробуй вставить вместо этого:”=СУММ(K4:M4)+СУММ(Q4:X4)+СУММ(AC4:AD4)+СУММ(AF4:AH4)+СУММ(AT4:BB4)”что-то типа вот этого:”=SUM(R[-5]C[5]:R[-5]C[7])+SUM(R[-5]C[11]:R[-5]C[18])+SUM(R[-5]C[23]:R[-5]C[24])+SUM(R[-5]C[26]:R[-5]C[28])+SUM(R[-5]C[4 0]:R[-5]C[48])”цифры в квадратных скобках относительные (относительно той ячейки куда формула вставляется), это на примере вставки формулы в ячейку F9А лучше всего включи запись макроса, впиши куда нужно свою формулу, а потом посмотри какой вид она будет иметь в макросе… Так же делай и в Delphi

Ага, я так и сделал. Посмотрел, какая формула получается в макросе, и сделал также у себя. Раньше не использовал формулу из макроса, т.к. меня смущал способ присвоения:…FormulaR1C1:=”=SUM(RC[2]:RC[4])«;Т.е. работа не просто с ячейкой, а ее свойством. Сейчас же «скрипя зубами», из-за увеличения времени формирования документа, организовал цикл, в котором у каждой ячейки менял значение ее свойство FormulaR1C1. А вот попробовать вставить это значение в массив и перенести все данные целиком, не догадался. Завтра попробую.За совет спасибо.

Наверх

Оцените статью
Как в офисе.ru
Добавить комментарий