| Цитата |
|---|
dhead написал: его и не нужно было бы определять: пользователь на своем компе вводит формулу в соответствии со своими региональными настройками |
ну т.е. ничего Вы не поняли. Ок. Попробуем разжевать.
xlListSeparator - выдаст Вам точку-с-запятой. Но при этом RefersToLocal может его не принять и потребовать внутренний разделитель - т.е. запятую(как я показал в своем сообщении выше). И это при том, что вся формула будет написана на русской локализации, а разделитель аргументов в формулах в ячейках все та же точка-с-запятой.
Далее, даже если решились подменять разделители - представьте формулу вида:
"=СУММ(Лист;1!A1;Лист;1!A2)"в чем проблема? выделил красным - имя листа содержит разделитель аргументов. Следовательно, простой Replace не сработает и надо будет парсить формулу. А это поверьте мне - дело весьма не благодарное.
| Цитата |
|---|
dhead написал: Все точно так же будет работать с ячейками на временном листе |
нет и еще раз нет. Во временный лист Вы переносите формулу именно так, как её требуется видеть в той локализации, в которой ведется работа. Не надо думать, какие там разделители требует RefersToLocal. А значит никакие разделители определять/подменять не надо. Надо просто объединить все в одну формул.
Просто попробуйте ту формулу, которую у Вас не принимает имя записать в лист через FormulaLocal. Не удивлюсь, что все запишется и будет вычислено корректно и без ошибок.
| Цитата |
|---|
dhead написал: Полноценная книга со всей иерархией объектов ради одной ячейки |
у Вас просто фантазии или опыта нет. Копии книги и листов лишь пара вариантов. Можно это делать и в отдельных пустых ячейках и даже(!) в уже заполненных. Просто надо понимать, в каких ячейках это можно делать, а в каких нет.
Дальше убеждать Вас в чем-то не вижу смысла - обсуждение заходит в тупик, Вам надо решение исключительно через диспетчер имен. И я почему-то уверен, что проблема именно в разделителе, хоть Вы и говорите, что пробовали его менять в формуле.