|
|
|
Ошибка при считывании кривой формулы в Excel
|
|||
|---|---|---|---|
|
#18+
Периодически делаю макросом сверку старых шаблонов отчётов с новыми шаблонами, чтобы выяснить какие изменения в новом шаблоне и были ли они вообще. С одним отчётом постоянно возникает одна и та-же ошибка на некоторых ячейках, в результате которой макрос завершается с ошибкой 1004 и останавливает свою работу. Ошибка возникает при попытке получить формулы в ячейке с помощь обращения через .formula. Я взял этот косячный файл, в нём удалил все листы, а на листе с косячной формулой удалил все данные во всех ячейках, оставил лишь одну ячейку Z6 в которой такая ошибка возникает. Файл прикладываю к этому сообщению. В файл встроил макрос, который вызывает ошибку 1004. Код: plaintext 1. 2. 3. Формула действительно там корявая, идут связи на какие-то файлы, но тем не менее, почему я не могу считать саму формулы, ведь сам Excel 2003 её показывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2010, 15:51 |
|
||
|
Ошибка при считывании кривой формулы в Excel
|
|||
|---|---|---|---|
|
#18+
Djon Player, Прикладываю сам файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2010, 15:52 |
|
||
|
Ошибка при считывании кривой формулы в Excel
|
|||
|---|---|---|---|
|
#18+
У меня ошибки нет.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2010, 17:08 |
|
||
|
Ошибка при считывании кривой формулы в Excel
|
|||
|---|---|---|---|
|
#18+
Hugo121, аналогично, Офис 2007 СП2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2010, 17:25 |
|
||
|
Ошибка при считывании кривой формулы в Excel
|
|||
|---|---|---|---|
|
#18+
MozokHugo121, аналогично, Офис 2007 СП2. Попробовал тоже Excel 2007 SP2, в нём действительно ошибку не выдаёт А вот в Excel 2003 SP3 выдаёт ошибку 1004 "Application-defined or object-defined error". Причем если смотреть непосредственно формулы в ячейке в Excel 2003 и Excel 2007 то она отличается. Excel 2007: =ЕСЛИ(ABS(O6+O30-O43+('R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!L245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!L290+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!M245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!M290+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!N245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!N290+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!O245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!O290+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!P245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!P290+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!Q245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!Q290))<0,2;0;O6+O30-O43+('R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!L245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!L290+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!M245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!M290+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!N245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!N290+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!O245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!O290+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!P245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!P290+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!Q245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!Q290)) Excel 2003: =O6+O30-O43 'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!L245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!L290+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!M245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!M290+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!N245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!N290+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!O245+'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls]Расходы'!O290 'R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\[Etalon_Ep2008.09.01.xls] Вобщем видно, что Excel 2003 показывает её некорректно. Всё таки можно ли как-то избежать данной ошибки используя именно Excel 2003? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 14:45 |
|
||
|
Ошибка при считывании кривой формулы в Excel
|
|||
|---|---|---|---|
|
#18+
У меня ХР СП3 с 2000 офисом, тоже короткий вариант. А результат подсчёта в обоих офисах тоже отличается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 14:58 |
|
||
|
Ошибка при считывании кривой формулы в Excel
|
|||
|---|---|---|---|
|
#18+
Djon Player Попробовал тоже Excel 2007 SP2, в нём действительно ошибку не выдаёт А вот в Excel 2003 SP3 выдаёт ошибку 1004 "Application-defined or object-defined error". Причем если смотреть непосредственно формулы в ячейке в Excel 2003 и Excel 2007 то она отличается. В Экселе 2003 максимальная длина формулы - 1024 знака. В Экселе 2007 максимальная длина формулы - 8192 знака. В вашей верной формуле ~2800 символов. (ахринедь) В обрезанной - ровно 1024. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 15:22 |
|
||
|
Ошибка при считывании кривой формулы в Excel
|
|||
|---|---|---|---|
|
#18+
qwrqwrDjon Player Попробовал тоже Excel 2007 SP2, в нём действительно ошибку не выдаёт А вот в Excel 2003 SP3 выдаёт ошибку 1004 "Application-defined or object-defined error". Причем если смотреть непосредственно формулы в ячейке в Excel 2003 и Excel 2007 то она отличается. В Экселе 2003 максимальная длина формулы - 1024 знака. В Экселе 2007 максимальная длина формулы - 8192 знака. В вашей верной формуле ~2800 символов. (ахринедь) В обрезанной - ровно 1024.Вобщем понятно, структура Excel 2003 видимо позволяет хранить гораздо больше знаков формулы, чем 1024, но корректно обрабатывает только 1024 знака. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 16:12 |
|
||
|
Ошибка при считывании кривой формулы в Excel
|
|||
|---|---|---|---|
|
#18+
Hugo121У меня ХР СП3 с 2000 офисом, тоже короткий вариант. А результат подсчёта в обоих офисах тоже отличается?Дело в том, что ссылки указанные в формуле не доступны для меня, и ячейки в оригинальном отчёте содержащие аналогичные формулы вобще скрыты. Видимо, человек, который делал эти файлы, ссылался на какие-то свои локальные файлы и не удосужился потом эти ссылки убрать оттуда, а просто скрыл ячейки. Думаю, что если искусственно сгенерировать указанные пути и туда положить файлы с циферками, то Excel 2003 бы правильно всё подсчитал. Но что-то мне лень проводить эксперименты, т.к. меня интересовало лишь, как избежать возникновения ошибки при сравнении двух файлов за разные периоды. Выходит, что единственный вариант, проводить сверку в Excel 2007. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 16:19 |
|
||
|
Ошибка при считывании кривой формулы в Excel
|
|||
|---|---|---|---|
|
#18+
Если искусственно сгенерировать указанные пути и туда положить файлы (хоть пустые) и их открыть, то формула станет короче, и может быть её можно будет сравнить :) Но вот как на 2003/2000 узнать 100% эти пути/файлы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 16:26 |
|
||
|
Ошибка при считывании кривой формулы в Excel
|
|||
|---|---|---|---|
|
#18+
Хотя в СкриптЕдиторе есть строка: <x:Path>R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП\Etalon_Ep2008.09.01.xls</x:Path>, вручную можно её выбрать, сгенерить такой файл можно уже скриптом... но проще наверное 2007 под это дело купить :) Или сверять там, где оно работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 16:31 |
|
||
|
Ошибка при считывании кривой формулы в Excel
|
|||
|---|---|---|---|
|
#18+
Hugo121Если искусственно сгенерировать указанные пути и туда положить файлы (хоть пустые) и их открыть, то формула станет короче, и может быть её можно будет сравнить :) Но вот как на 2003/2000 узнать 100% эти пути/файлы?Стопроцентно узнать пути очень просто, нужно посмотреть все связи в файле, например таким кодом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Видимо действительно проще делать сверку в Excel 2007. Ну а тому, у кого файлы эти на которые идут связи есть, сверку делать и не нужно, т.к. значит он делает модификации в этом файле и следовательно знает, что там поменялось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2010, 09:04 |
|
||
|
Ошибка при считывании кривой формулы в Excel
|
|||
|---|---|---|---|
|
#18+
Выше указанным скриптом выяснил, что файл там всего один "Etalon_Ep2008.09.01.xls", он должен распологаться в папке "R:\SGB\OSOOMS\Отчетность\РСБУ\Отчетность 2008\3 квартал\Исходные файлы\ЕП". Так-же выяснил уже в Excel 2007, что все ссылки идут на лист Расходы и в расчётах используются ячейки L245, L290, M245, M290, N245, N290, O245, O290, P245, P290, Q245, Q290. Я с помощью bat-файла создал папку командой Код: plaintext И в Excel 2003 и в Excel 2007 результат один 66. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2010, 09:31 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=36424273&tid=2178576]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 468ms |

| 0 / 0 |
