[Решено] Неверно работает setFormulaArray по прямому назначению

Автор Massaraksh7, 24 апреля 2024, 10:33

0 Пользователи и 1 гость просматривают эту тему.

Massaraksh7

Например, для функции Linest. Пробовал разные варианты:
hcell = sheet.getCellRangeByName("D18:E18")
hcell.setFormulaArray("{=LINEST(E20:E29,D20:D29)}")
hcell.setFormulaArray("{=LINEST(E20:E29;D20:D29)}")
hcell.setFormulaArray("=LINEST(E20:E29,D20:D29)")
hcell.setFormulaArray("=LINEST(E20:E29;D20:D29)")
hcell.setFormulaArray("{=LINEST('E20:E29','D20:D29)'}")
hcell.setFormulaArray("{=LINEST('E20:E29';'D20:D29)'}")
hcell.setFormulaArray("=LINEST('E20:E29','D20:D29)'")
hcell.setFormulaArray("=LINEST('E20:E29';'D20:D29)'")

ни один не работает.
Пробовал копировать формулу из одних ячеек в другие - чушь получается (см. вложение)
hcell = sheet.getCellRangeByName("K27:L27")
rrr=hcell.getFormulaArray()
ycell = sheet.getCellRangeByName("S27:T27")
ycell.setFormulaArray(rrr)
Нигде в поиске на встречал пример использования этой функции (setFormulaArray) по прямому назначению.
Кто-то что-то знает?

mikekaganski

#1
Какое у неё прямое назначение?
(у меня смутное подозрение, что setFormulaArray перепутана с setArrayFormula, но в тексте вообще ничего не сказано об ожиданиях...)
С уважением,
Михаил Каганский

Massaraksh7

Цитата: mikekaganski от 24 апреля 2024, 12:27что setFormulaArray перепутана с setArrayFormula
Если и перепутана, то не мной, я-то думал, тут всё, как в Excel, но, да, спасибо, теперь заработало.

economist

Как в Excel можно, многое заработает. Поставьте вверху модуля строку

Option VBASupport 1

И можно делать так:
[A1:A100].FormulaR1C1=...

Ну или нельзя, пробуйте. 60-80% VBA-кода работает, диалекты можно смешивать.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Massaraksh7

Спасибо за информацию, конечно. Но, скорее всего, будет Python.