Вниз
Скачать: CL | DM;

Вставка формулы суммы в Excel   Найти похожие ветки 

← →
Fedia ©   (2004-10-04 08:23) [0]

Уважаемые мастера.
Столкнулся вот с какой проблемой.
Вставляю в таблицу 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, после которой все начнет отображаться, хотя могу и ошибаться.
Может быть, кто-нибудь сталкивался с этой проблемой и нашел ее решение? В общем, очень нужен совет.


← →
SergP.   (2004-10-05 09:03) [1]

Странно что у тебя в 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


← →
Fedia ©   (2004-10-05 10:40) [2]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.035 c
10-1050070965
Aleksandr
2003-04-11 18:22
2004.10.17
Ну не пойму я никак, как сделать разрешение/запрет на соединение!


1-1096344191
Ozone
2004-09-28 08:03
2004.10.17
Задача про регулярные грамматики


1-1096619466
Sash
2004-10-01 12:31
2004.10.17
главная форма ровно по центру монитора


3-1094742606
senya
2004-09-09 19:10
2004.10.17
Как подсчитать количество соединений к БД?


3-1095352280
3APA3A
2004-09-16 20:31
2004.10.17
select distinct ...




   Наверх