Страницы: 1
RSS
Ошибка при копировании листа VBA
 
Всем добрый день!  
 
Никто не сталкивался с такой проблемой - периодически возникает ошибка при копировании листа через VBA:  
"Метод Copy из класса Worksheet завершен не верно"  
Причем, что самое интересное, ошибка возникает именно периодически и исчезает через некоторое время сама собой и код отрабатывается без проблем. Проводил проверку - при возникновении этой ошибки открываю новую книгу Excel, включаю макрорекордер, копирую лист - это действие не записывается.    
 
Нет ли у кого-нибудь идей что это такое и как с этим жить?  
Спасибо  
 
PS Excel 2007 SP2
 
Переустановить Office нет желания?)
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=nerv}{date=01.08.2011 10:04}{thema=}{post}Переустановить Office нет желания?){/post}{/quote}  
 
Может и есть, но поскольку компьютер рабочий, то тут учитывается желание наших IT-шников, и мне кажется, что это не поможет, т.к. эта ошибка наблюдается как минимум еще на одном компьютере (кстати, одновременно с моим...)
 
от вирусов надежно защищены? Может быть в последнее время на обе машины устанавливалось каое-либо ПО, которое влияет на работу пакета MS Office?
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Еще предположение: надстройки для Excel, плюс проверьте Personal.xls.  
 
Вы точно уверены, что дело не в макросе?
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Да, уверен - дело точно не в макросе. Personal.xls у меня вообще нет. Одно и то же ПО - наверное вряд ли, но надо будет уточнить. А вот вирусы... Это вопрос.  
 
Спасибо.
 
Лист копируется в эту же книгу, или в другую?  
Не защищена ли книга?
 
{quote}{login=Казанский}{date=01.08.2011 11:00}{thema=webley}{post}Лист копируется в эту же книгу, или в другую?  
Не защищена ли книга?{/post}{/quote}  
 
в другую. Книга не защищена. Еще раз подчеркиваю, что эта ошибка возникает периодически, обычно макрос отрабатывается нормально
 
А можно код посмотреть?
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Может, кто-то периодически включает общий доступ к книге?
 
{quote}{login=nerv}{date=01.08.2011 11:47}{thema=to webley}{post}А можно код посмотреть?{/post}{/quote}  
 
Да, конечно. Вот начало модуля, ошибка происходит при копировании. Думаю, этого кусочка достаточно, если нет - могу выложить весь код, но проверить его работоспособность все равно не получится, т.к. он оперирует файлами, лежащими на сервере  
 
 
Sub Analitic()  
   Dim r, c  
 
   Set WBres = Workbooks.Open(PathStr & "\МОНИТОРИНГ КЛИЕНТОВ.xlsm")  
     
   'создаем временную книгу и копируем туда необходимые листы из разных книг  
   Set WBanalitic = Workbooks.Add  
   WBres.Sheets("Data").Copy after:=WBanalitic.Sheets(WBanalitic.Sheets.Count)  
   WBlut.Sheets("LUT").Copy after:=WBanalitic.Sheets(WBanalitic.Sheets.Count)  
   WBlut.Sheets("CU_add_date").Copy after:=WBanalitic.Sheets(WBanalitic.Sheets.Count)
 
{quote}{login=Казанский}{date=01.08.2011 11:55}{thema=}{post}Может, кто-то периодически включает общий доступ к книге?{/post}{/quote}  
 
нет, файл с макросом - это excel-отчет из корпоративной системы, т.е. он локальный
 
И что интересно - дождался появления ошибки, ушел в отладку макроса и попробовал скопировать эти листы руками: Excel их просто не стал копировать... Ни ошибки, никаких сообщений - просто не копирует...
 
Строки длиннее 255 символов - кажется, в 2003 с этим была проблема?  
 
Конфликт имен (одинаковые имена в разных книгах)?
 
мне кажется Казанский прав, может это - Конфликт имен?
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Про конфликт имен - не думаю, т.к. создаю новую книгу, и копирую листы с уже измененными названиями. Вообще какая-то мистика - перед запуском сохранил файл в корневой каталог на диск D, после этого все сработало. Сразу после выгрузки файл сохраняется здесь:  
C:\Documents and Settings\aberkutov\Local Settings\Temporary Internet Files\Siebel\25.07.11-31.07.11.xlsm  
Может быть тут собака порылась?  
 
В любом случае, всем спасибо, попытаюсь выявить закономерность этой ошибки, а там видно будет...
 
А нет ли ограничения на размер локального профиля пользователя? Когда достигается предел, Excell не может хранить временный файл, просто негде. Соответственно не может скопировать лист, т.к. это ведет к увеличению размера временного файла. Попробуйте поменять пути на локальные диски в Параметрах Excell
Страницы: 1
Наверх