Мобильная версия форумов
Открыть
 −4°C
завтра: −13°C
Погода в Перми
−4°C
ночью−6°C
утром−11°C
завтра−13°C
Подробно
 66,70
+0.1615
Курс USD ЦБ РФна 16 февраля
66,7044
+0.1615
 75,25
+0.2021
Курс EUR ЦБ РФна 16 февраля
75,2492
+0.2021
  • гундос

    Сообщений: 16214

    Задача - сформировать лист в Excel в рантайме, заполнив его некоторыми данными, в том числе, формулами.
    Вобщем, проблема в следующем.
    Заполнение проходит нормально, формулы тоже работают, правда в RC-стиле ссылок, да это не важно. А вот если встречается функция, то Excel изначально ставит недопустимое имя, если на этой ячейке нажать F2-Enter, то все исправляется.
    Проблема другая, если явно писать имя функции, например, '=сумм(...)', то в той же английской версии Excel будет перманентная ошибка.

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

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

  • Господин Уэф!

    Анонимный пользователь

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

  • junior

    Сообщений: 19

    Легко

    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;

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

  • гундос

    Сообщений: 16214

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

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

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

  • Господин Уэф!

    Анонимный пользователь

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

  • гундос

    Сообщений: 16214

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

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

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

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

Модератор: