Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Длинная формула 0x800a03ec - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Длинная формула 0x800a03ec (Формулы/Formulas)
Длинная формула 0x800a03ec
Zixxx Дата: Пятница, 19.03.2021, 18:46 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

[vba]
Код
Excel = Новый COMОбъект("Excel.Application");
Excel.Application.DisplayAlerts = False;
Excel.WorkBooks.Open(ПутьДоФайла);

Лист = Excel.WorkSheets(1);

Лист.Cells(1,1).FormulaR1C1Local = Строка(Формула);

Excel.ActiveWorkBook.Save();

Excel.DisplayAlerts = 0;
Excel.ActiveWorkbook.Close();
Excel.DisplayAlerts = 1;
Excel.Application.Quit();
Excel = Неопределено;
[/vba]

В формулу дает записать только строку длиной 1512 символа. Пробовал на английском писать в Formula, FormulaR1C1, Value
Всегда появляется ошибка 0x800A03EC

Причем на одном компьютере есть ошибка, а на другом нет
Excel.Version() - на обоих компах 15.0 (Excel 2013)

Как обойти ограничение и почему на одном компе работает а на другом нет?


Сообщение отредактировал Zixxx - Пятница, 19.03.2021, 19:40
 
Ответить
Сообщение[vba]
Код
Excel = Новый COMОбъект("Excel.Application");
Excel.Application.DisplayAlerts = False;
Excel.WorkBooks.Open(ПутьДоФайла);

Лист = Excel.WorkSheets(1);

Лист.Cells(1,1).FormulaR1C1Local = Строка(Формула);

Excel.ActiveWorkBook.Save();

Excel.DisplayAlerts = 0;
Excel.ActiveWorkbook.Close();
Excel.DisplayAlerts = 1;
Excel.Application.Quit();
Excel = Неопределено;
[/vba]

В формулу дает записать только строку длиной 1512 символа. Пробовал на английском писать в Formula, FormulaR1C1, Value
Всегда появляется ошибка 0x800A03EC

Причем на одном компьютере есть ошибка, а на другом нет
Excel.Version() - на обоих компах 15.0 (Excel 2013)

Как обойти ограничение и почему на одном компе работает а на другом нет?

Автор - Zixxx
Дата добавления - 19.03.2021 в 18:46
bmv98rus Дата: Пятница, 19.03.2021, 19:29 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
FormulaR1C1Local использует и локализацию и региональные, которые могут быть разными на разных ПК.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеFormulaR1C1Local использует и локализацию и региональные, которые могут быть разными на разных ПК.

Автор - bmv98rus
Дата добавления - 19.03.2021 в 19:29
Zixxx Дата: Пятница, 19.03.2021, 19:41 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

FormulaR1C1Local использует и локализацию и региональные, которые могут быть разными на разных ПК.

Нет проблема именно в длине. Если укоротить формулу то все будет ок
 
Ответить
Сообщение
FormulaR1C1Local использует и локализацию и региональные, которые могут быть разными на разных ПК.

Нет проблема именно в длине. Если укоротить формулу то все будет ок

Автор - Zixxx
Дата добавления - 19.03.2021 в 19:41
bmv98rus Дата: Пятница, 19.03.2021, 19:42 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
тогда показывайте формулу.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщениетогда показывайте формулу.

Автор - bmv98rus
Дата добавления - 19.03.2021 в 19:42
Zixxx Дата: Пятница, 19.03.2021, 19:56 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

тогда показывайте формулу.

=ЕСЛИ(ЕЧИСЛО(R1C);R1C;0)+ЕСЛИ(ЕЧИСЛО(R2C);R23;0)+...
 
Ответить
Сообщение
тогда показывайте формулу.

=ЕСЛИ(ЕЧИСЛО(R1C);R1C;0)+ЕСЛИ(ЕЧИСЛО(R2C);R23;0)+...

Автор - Zixxx
Дата добавления - 19.03.2021 в 19:56
прохожий2019 Дата: Пятница, 19.03.2021, 20:13 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 1242
Репутация: 317 ±
Замечаний: 0% ±

365 Beta Channel
а почему нельзя просто СУММ()?
 
Ответить
Сообщениеа почему нельзя просто СУММ()?

Автор - прохожий2019
Дата добавления - 19.03.2021 в 20:13
bmv98rus Дата: Пятница, 19.03.2021, 20:33 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Цитата прохожий2019, 19.03.2021 в 20:13, в сообщении № 6 ()
а почему нельзя просто СУММ()?

а помучатся :-)


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
Цитата прохожий2019, 19.03.2021 в 20:13, в сообщении № 6 ()
а почему нельзя просто СУММ()?

а помучатся :-)

Автор - bmv98rus
Дата добавления - 19.03.2021 в 20:33
Zixxx Дата: Пятница, 19.03.2021, 20:51 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Цитата прохожий2019, 19.03.2021 в 20:13, в сообщении № 6 ()
а почему нельзя просто СУММ()?

По колонке не все нужно считать
Цитата прохожий2019, 19.03.2021 в 20:13, в сообщении № 6 ()
а почему нельзя просто СУММ()?

Если бы и это работало

Так работает
=СУММ(1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1)

Так не работает
=СУММ(1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1)
 
Ответить
Сообщение
Цитата прохожий2019, 19.03.2021 в 20:13, в сообщении № 6 ()
а почему нельзя просто СУММ()?

По колонке не все нужно считать
Цитата прохожий2019, 19.03.2021 в 20:13, в сообщении № 6 ()
а почему нельзя просто СУММ()?

Если бы и это работало

Так работает
=СУММ(1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1)

Так не работает
=СУММ(1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1)

Автор - Zixxx
Дата добавления - 19.03.2021 в 20:51
прохожий2019 Дата: Пятница, 19.03.2021, 20:59 | Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 1242
Репутация: 317 ±
Замечаний: 0% ±

365 Beta Channel
По колонке не все нужно считать
вы бы показали пример в файле
 
Ответить
Сообщение
По колонке не все нужно считать
вы бы показали пример в файле

Автор - прохожий2019
Дата добавления - 19.03.2021 в 20:59
Zixxx Дата: Пятница, 19.03.2021, 21:02 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Цитата прохожий2019, 19.03.2021 в 20:59, в сообщении № 9 ()
вы бы показали пример в файле

В том то и дело что в файле работает, ошибка возникает в процессе заполнения файла програмно, причем только на одном компе (но именно на нем это и должно формироваться)
 
Ответить
Сообщение
Цитата прохожий2019, 19.03.2021 в 20:59, в сообщении № 9 ()
вы бы показали пример в файле

В том то и дело что в файле работает, ошибка возникает в процессе заполнения файла програмно, причем только на одном компе (но именно на нем это и должно формироваться)

Автор - Zixxx
Дата добавления - 19.03.2021 в 21:02
Pelena Дата: Пятница, 19.03.2021, 22:55 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
В формулу дает записать только строку длиной 1512 символа
не пробовали использовать промежуточные переменные?
Скажем
[vba]
Код
a="ЕСЛИ(ЕЧИСЛО(R1C);R1C;0)"'здесь строка до 1512 символов
b="ЕСЛИ(ЕЧИСЛО(R2C);R2C;0)"'здесь вторая часть до 1512 символов
Лист.Cells(1,1).FormulaR1C1Local = "=" & a & "+" & b
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
В формулу дает записать только строку длиной 1512 символа
не пробовали использовать промежуточные переменные?
Скажем
[vba]
Код
a="ЕСЛИ(ЕЧИСЛО(R1C);R1C;0)"'здесь строка до 1512 символов
b="ЕСЛИ(ЕЧИСЛО(R2C);R2C;0)"'здесь вторая часть до 1512 символов
Лист.Cells(1,1).FormulaR1C1Local = "=" & a & "+" & b
[/vba]

Автор - Pelena
Дата добавления - 19.03.2021 в 22:55
bmv98rus Дата: Суббота, 20.03.2021, 07:52 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
ошибка возникает в процессе заполнения файла програмно,
если уже заполненное работает, то посмотрите что там в формуле через VBA, пропшите тоже самое через код для проверки. буквально
Код
Лист1.Cells(1,1).Formula=Лист.Cells(1,1).Formula

Если не получится, то проблема в Excel и его нужно подлечить.
А вот если пройдет, то сравнивайте тем что вы пихаете. да и используйте именно .Formula . Придется перевести функции, но это исключит много проблем.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
ошибка возникает в процессе заполнения файла програмно,
если уже заполненное работает, то посмотрите что там в формуле через VBA, пропшите тоже самое через код для проверки. буквально
Код
Лист1.Cells(1,1).Formula=Лист.Cells(1,1).Formula

Если не получится, то проблема в Excel и его нужно подлечить.
А вот если пройдет, то сравнивайте тем что вы пихаете. да и используйте именно .Formula . Придется перевести функции, но это исключит много проблем.

Автор - bmv98rus
Дата добавления - 20.03.2021 в 07:52
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Длинная формула 0x800a03ec (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!