Страницы: 1
RSS
Отказ Copy/Paste при увеличении диапазона копирования
 
Здравствуйте!  
Вот часть моего кода:  
 
   iNRow = Sheets("ActSv").Cells(Rows.Count, 16).End(xlUp).Row ' определяем последнюю строку исходной таблицы  
   Range("A10:M10").Copy: Range("A10:M" & iNRow).PasteSpecial Paste:=xlPasteAll  
 
Вчера работал, сегодня - нет. Пишет:  
"Метод PasteSpecial из класса Range завершен неверно" и указывает на  
Range("A10:M" & iNRow).PasteSpecial Paste:=xlPasteAll  
Причина оказалась в диапазоне: таблица увеличивается каждый день.  
Сегодня количество строк таблицы 4151, уменьшаю до 4100 - работает.  
Так понимаю, я перешел какой-то предел?  
Как выйти из этого положения?
 
Я правильно понял, что вы копируете ОДНУ строку ("A10:M10"), и вставляете её на тот же лист, начиная с той же строки, но только на 4000+ строк?  
 
Можно вопрос? Зачем???  
 
Может, вам надо вставлять не на текущий лист, а на лист Sheets("ActSv")?  
(не зря же вы там искали номер последней строки)  
 
Я не могу понять, зачем в одном случае указывать лист (Sheets("ActSv")), а дальше в коде уже не указывать...  
 
Был бы пример файла - получили бы готовый код из одной строки.  
Вам копировать надо обязательно вместе с форматированием?
 
"Я правильно понял, что вы копируете ОДНУ строку ("A10:M10"), и вставляете её на тот же лист, начиная с той же строки, но только на 4000+ строк?" - совершенно верно.  
 
"Можно вопрос? Зачем???" - сначала заполняю формулами, затем заменяю значениями - таким образом борюсь с "тяжестью" файла.  
 
"Может, вам надо вставлять не на текущий лист, а на лист Sheets("ActSv")?  
(не зря же вы там искали номер последней строки)" - на "ActSv".  
 
"Я не могу понять, зачем в одном случае указывать лист (Sheets("ActSv")), а дальше в коде уже не указывать..." - недоработка, неграмотность.  :)  
 
"Был бы пример файла - получили бы готовый код из одной строки." - файл очень большой, в данном коде происходит затягивание данных с закрытого файла ексель.  
"Вам копировать надо обязательно вместе с форматированием?" - да.  
Я только что решил эту проблему копированием в два этапа: от 1 до 1000, от 1001 и далее. Но может быть есть способ более уневерсальный?  
У меня 2003.
 
Вот залил сюда:  http://ifolder.ru/18078579  
Расспаковать на диск с в корень.  
Посмотрите, пожалуйста.
 
... открыть файл "ActSver", нажать кнопку "Затянуть".  
И получим ошибку...  ;(
Страницы: 1
Читают тему
Наверх