7°C
завтра: 17°C
Погода в Перми
7°C
вечером11°C
ночью10°C
завтра17°C
Подробно
 92,13
−0.3744
Курс USD ЦБ РФна 26 апреля
92,1314
−0.3744
 98,71
−0.2039
Курс EUR ЦБ РФна 26 апреля
98,7079
−0.2039
  • Задача - сформировать лист в 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 работает

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

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

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

Модератор: