16°C
завтра: 20°C
Погода в Перми
16°C
днем17°C
вечером19°C
завтра20°C
Подробно
 66,00
+0.1054
Курс USD ЦБ РФна 17 августа
65,9961
+0.1054
 73,22
−0.2323
Курс EUR ЦБ РФна 17 августа
73,2227
−0.2323
  • Задача - сформировать лист в Excel в рантайме, заполнив его некоторыми данными, в том числе, формулами.
    Вобщем, проблема в следующем.
    Заполнение проходит нормально, формулы тоже работают, правда в RC-стиле ссылок, да это не важно. А вот если встречается функция, то Excel изначально ставит недопустимое имя, если на этой ячейке нажать F2-Enter, то все исправляется.
    Проблема другая, если явно писать имя функции, например, '=сумм(...)', то в той же английской версии Excel будет перманентная ошибка.

    Вопрос, как программно впихать в ячейку '=СУММ(R15C:R[-1]C)', чтоб работало?

    эгоист - это человек, который думает в первую очередь о себе и только потом обо мне

  • задай это вопрос здесь быстрее помогут. http://www.sql.ru/forum/actualtopics.aspx?bid=20
    У самого не было ниразу такой необходимости (Вставлять формулы).

  • Легко

    Excel:=CreateOleObject('Excel.Application');
    Excel.workbooks.Add();
    w:=Excel.workBooks:1:.worksheets.count;
    WorkBook:=Excel.WorkBooks:1:;
    Sheet:=WorkBook.WorkSheets:1:;
    Sheet.Cells[20,20].formulalocal:='=Сумм(K4:K14)';
    Excel.Visible:=True;

    Как посмотришь вокруг - е. твою мать! А как подумаешь - а и ..й с ним.

  • В ответ на: Sheet.Cells[20,20].formulalocal:='=Сумм(K4:K14)';
    Как выяснилось, вот так правильнее:
    ...FormulaR1C1 := '=SUM(RC[-4]:RC[-1])'...

    Всем спасибо, вопрос исчерпан :agree:

    эгоист - это человек, который думает в первую очередь о себе и только потом обо мне

  • Т.е. и в руской и в английской версии офиса, надо писать по англицки и всё будет ок?

  • да. по крайней мере, с русским Ex2000 работает

    эгоист - это человек, который думает в первую очередь о себе и только потом обо мне

Записей на странице:

Перейти в форум

Модератор: