Страницы: 1
RSS
Ограничение по ресурсам EXCEL
 
Который год бьюсь над этой задачей.  
Создал базу данных на EXCEL, но при  
увеличении таблицы - передача данных  
между файлами EXCEL по принципу  
"чтение-запись" наталкивается на  
сообщение EXCEL "ограничение по  
ресурсам. Закройте другие приложения."  
Но закрытие всех приложений ни к чему  
не приводит. Задача решается, если  
только уменьшить размеры таблицы,  
но они и так скромные, 1150 строк  
на 256 столбцов в 6 листах. Помогите,  
кто знает как выйти из этого положения.  
И что это за ограничение, я думаю, что  
оно касается самой программы EXCEL, т.к.  
то же самое проявляется на разных  
компьютерах.
 
Я встретился с таким ограничением лишь однажды... при попытке вставить (не заполнить, а именно вставить, добавить ячейки) в лист с довольно большим количеством данных в книге с включенным общим доступом (многопользовательский режим), размещенной на сетевом диске на сервере. При выключении общего доступа все вновь стало работать без проблем.  
 
Если у Вас включен общий доступ, попробуйте выключить его и опробовать все те же операции.    
 
Если выключение общего доступа не исправит ситуацию - тогда предполагаю, что у Вас нарушена внутренняя структура файла Экселя. Это иногда бывает... хотя при этом файл открывается и с ним даже можно работать, однако некоторые операции с ячейками и строками завершаются не корректно. Лечится это (по моему опыту) только последовательным копированием данных с каждого листа на листы новой книги.  
 
Если же выключение общего доступа исправит ситуацию, то придется принять, что добавление строк в таблицу в режиме общего доступа - может быть неразрешимой задачей для Экселя. Лечить это придется заменой операции вставки ячеек на последоватьность операций перезаписи.
 
Нет. Общий доступ выключен. С общим доступом вообще некоторые функции вообще не работают, в частности снятие защиты листов. Обмен информацией между файлами EXCEL происходит в обычном режиме, например из файла book1 информация переписывается в конце дня в файл book2, затем из файла book2 на следующий день информация переписывается в новый файл book1, например остатки товара предыдущего дня в следующий. И что делать, когда с большим количеством строк в таблице EXCEL выдаёт ошибку при копировании формул чтения информации из файла book1. Есть ли у кого-нибудь другие предположения.  
За совет спасибо, но копировать в новую книгу все листы трудоёмко, да и, вероятно, это не даст результата.
 
А почему "трудновато"? Заставьте макрос сделать это.
 
Макросы используются для повторяющихся операций, а здесь другое. И что, после копирования всех формул в новую книгу  
можно будет расширить таблицу более 1150 строк ? Я думаю, что в EXCEL ограничения на кол-во формул с обращением не  
к другой книге, а к другому файлу, потому что увеличение  
числа формул с обращением к другой книге или к другому листу  
проходит без ошибок, и ограничение по ресурсам не высвечивается. Как думаете ?
 
"не к другой книге, а к другому файлу"  
А разве другая книга и другой файл разные вещи?  
И макросами предлагалось поочередно скопировать все листы в новую книгу, а уже в ней проверить раюботоспособность.
 
Я дико извинияюсь... но я говорил не о переносе листов из новую книгу, а о переносе данных всех листов в новую книгу.... При переносе листов внутри-структурные ошибки файла могут перенестись вместе с листами-объектами в новый файл и работа будет бесполезной.
 
Да, новая книга - это новый файл. Я имел ввиду что без ошибок копируются формулы с адресацией к новым листам той же книги, а увеличение числа формул с адресацией к другой книге выдаёт ошибку, указанную выше. С помощью макросов перенести около 3000000 формул из старой книги в ячейки новой книги реально ли, подскажите как. Может есть другой способ, менее трудоёмкий ?
 
{quote}{login=}{date=04.10.2008 12:08}{thema=}{post}"не к другой книге, а к другому файлу"  
А разве другая книга и другой файл разные вещи?  
И макросами предлагалось поочередно скопировать все листы в новую книгу, а уже в ней проверить раюботоспособность.{/post}{/quote}  
 
вообще-то разница есть - книга - объект иксель, а файл - объект файловой системы.  
 
вы можете открыть две книги в иксель и копировать данные, а можно обратиться к файлу, не открывая книгу, например создав запрос внешних данных(или с помощью ADO)..  
 
думаю во втором случае ограничений быть не должно..
 
В данном случае книга - это файл, и уменя  
нет запроса внешних данных, обычная формула  
типа: <Книга1.xls>Табл!r1c1. При увеличении  
кол-ва таких формул появляется сообщение  
"Ограничение по ресурсам EXCEL. Закройте другие  
приложения". При игнорировании этого сообщения  
наступает потеря внешних связей между книгами.
 
не сталкивался..  
физической памяти много?
 
---  
Существует множество ограничений для Excel.  
Одно из них - не более 16 тыс. формул (по-крайней мере, для XL2000), ссылающихся на другую книгу. Возможно, это ограничение у Вас и сработало.  
 
Подробности такого вида ограничения читайте здесь:  
http://support.microsoft.com/?kbid=214342  
 
Совет, данный кем-то неизвестным выше, копировать значения из внешних источников макросом очень уместен в данном случае. Примеров такого копирования на форуме было приведено много.  
---  
ZVI
 
Уточнение по ограничению: допустимы ссылки не более, чем на 16 тысяч внешних ячкеек, а не 16 тысяч формул.
 
Спасибо, ZVI ! Значит нельзя ссылаться более, чем на 16000 внешних ячеек, т.е. к ячейкам в другой книге, и , как следствие, копирование формул в чистую новую книгу ничего не даст (было предложение на случай сбоя внутри рабочей книги EXCEL).  
А я уже собирался это делать. Уточните ZVI, пожалуйста, ещё  
раз, как обойти это ограничение с помощью макросов, чтобы  
сослаться на ячейки другой книги, мне надо переписать данные  
из предыдущего дня в следующий и очень может быть, что это более 16000 ссылок, т.к. данные в разных столбцах и в каждом 1150 строк, хотя можно и посчитать.  
Ограничение, выдаваемое EXCEL и описываемое выше, не из-за физической памяти,  
т.к. оно наступает на разных компьютерах, с разной физическое памятью максимум до 512 МВ, куда загружается вместе с книгами до 10 штук EXCEL.
 
---  
Вместо ссылок на другие книги макрос просто может сделать все то, что делается вручную: открыть книгу с исходными данными, скопировать данные в  другую книгу, закрыть книгу с исходными данными. Таким образом можно обрабатывать не одну, а несколько внешних книг-источников данных.  
 
Полезно просто включить макрорекодер и проделать действия вручную, затем отключить макрорекодер и посмотреть, что он там понаписал в макрос. Конечно, потребуются правка такого кода, но основа все же будет создана.    
Если есть проблемы с VBA, то проще поискать что-то готовое на форуме, здесь было много примеров копирования данных их нескольких книг в одну.  По-моему, Igor67 активно помогал многим по данной теме, нужно просто это найти и приспособить под конкретную задачу.  
 
Если достаточно опыта с VBA то, по-моему, предпочтительнее было бы импортировать данные из закрытых внешних книг с помощью ADO. Только нужно учитывать проблемы с импортом данных разного типа в одном поле (колонке) и некоторые другие нюансы.  
---  
ZVI
 
Опыта с VBA и ADO не то, что мало, а вообще нет. Я даже не знаю, что это такое. Работал с макрорекодером. И ещё... У меня проблема не скопировать данные или формулы из одной книги в другую, а прочитать их, например остатки склада по каждой из 1150 позициям на начало следующего дня. Т.е. именно здесь у меня адресация к другой книге (предыдущему дню). Если ограничение по адресации к другой книге действительно 16000 обращений, попытаюсь уменьшить число своих обращений до этого значения. А интересно какие ещё ограничения в EXCEL 10? И много ли их ? Разработчикам EXCEL совсем было бы неплохо опубликовывать список таких ограничений, а то ограничения на использование функций в описании существуют, а ограничений самого EXCEL нигде нет, и тратишь чудовищно много времени, прежде чем поймёшь в чём дело.
 
Технические характеристики и ограничения Microsoft Excel:  
http://office.microsoft.com/ru-ru/excel/HP051992911049.aspx?pid=CH062527721049
 
{quote}{login=vikttur}{date=05.10.2008 10:48}{thema=}{post}Технические характеристики и ограничения Microsoft Excel:  
http://office.microsoft.com/ru-ru/excel/HP051992911049.aspx?pid=CH062527721049{/post}{/quote}  
vikttur! Спасибо за ссылку.
 
{quote}{login=Андрей}{date=04.10.2008 12:04}{thema=Ограничение по ресурсам EXCEL}{post}Макросы используются для повторяющихся операций, а здесь другое. И что, после копирования всех формул в новую книгу  
можно будет расширить таблицу более 1150 строк ? Я думаю, что в EXCEL ограничения на кол-во формул с обращением не  
к другой книге, а к другому файлу, потому что увеличение  
числа формул с обращением к другой книге или к другому листу  
проходит без ошибок, и ограничение по ресурсам не высвечивается. Как думаете ?{/post}{/quote}
 
Все гораздо проще.  
Нужно чтобы обе книги открвались в одном приложении Экселя.  
Если они открыты в разных Экселях то выдается это сообщение.  
Это скорее глюк Виндов, они не могут поделить названия файлов.
 
такв 10 екселе по ходу все книги в одном приложении открываются?
 
Открыли файл из ресурсов компьтера. Раз.  
Хотим посмотреть файл с Планеты, грузим через браузер. Два.  
Имеем два Excel'я :)
 
{quote}{login=Димон}{date=20.08.2011 02:11}{thema=}{post}такв 10 екселе по ходу все книги в одном приложении открываются?{/post}{/quote}Это определяет разве Офис? Насколько я понимаю - система этим распоряжается.
Страницы: 1
Читают тему
Наверх