метод paste завершен неверно...

Программирование на Visual Basic for Applications
necro
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 3
Зарегистрирован: 03.06.2005 (Пт) 4:56

метод paste завершен неверно...

Сообщение necro » 03.06.2005 (Пт) 5:08

Доброго времени суток уважаемые.
Проблема такая, есть макрос (excel 2003) который достает данные из нескольких dbf файлов, затем производиться выборка нужных значений, и далее их копирование на разные листы, все вплоть до копирования работает нормально, но как только доходит до вставки отобранных данных вылетает ошибка "Метод Paste из класса Worksheet завершен неверно", если нажать на отмену, то вставка все таки происходит, но как завершить этот Paste из класса Worksheet?

вот кусок кода где собственно и описано копирование и вставка:

Код: Выделить всё
Rows("1:1").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=7, Criteria1:="01.06.2005"
    Selection.QueryTable.Refresh BackgroundQuery:=False
    Rows("1:1500").Select
    Selection.Copy
    Sheets("Лист2").Select
    ActiveSheet.Paste

Snussi
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 151
Зарегистрирован: 21.07.2004 (Ср) 18:08
Откуда: Москва, Россия

Сообщение Snussi » 03.06.2005 (Пт) 16:34

Попробуй перед ActiveSheet.Paste (Кстати, почему так,а не Sheets("Лист2").Paste) сделать Sheets("Лист2").Cells(1,1).Select

necro
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 3
Зарегистрирован: 03.06.2005 (Пт) 4:56

Сообщение necro » 04.06.2005 (Сб) 6:02

Snussi писал(а):Кстати, почему так,а не Sheets("Лист2").Paste
...так сначала и делал, но вылазила та же ошибка.
Попробовал, поставить
Код: Выделить всё
Sheets("Лист2").Cells(1,1).Select

не помогло, все равно вылетает та же ошибка :-(

necro
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 3
Зарегистрирован: 03.06.2005 (Пт) 4:56

Сообщение necro » 05.06.2005 (Вс) 5:46

Попробовал этот же макрос в excel2000, все работает, никаких ошибок не вылетает, просто поставлю на нужной машине office2000, тему можно считать закрытой.
P.S.: спасибо Snussi, за совет.

Annushka
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 17.05.2005 (Вт) 12:44
Откуда: Украина

Сообщение Annushka » 04.05.2006 (Чт) 17:15

necro писал(а):Попробовал этот же макрос в excel2000, все работает, никаких ошибок не вылетает, просто поставлю на нужной машине office2000, тему можно считать закрытой.


К сожалению, это не решение. :(
У меня та же проблема, но наоборот. В Excel 2003 работает, а в 2002 - нет. Та же ошибка метода Paste.

Annushka
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 17.05.2005 (Вт) 12:44
Откуда: Украина

Сообщение Annushka » 05.05.2006 (Пт) 12:22

Нашла.
Оказалось, что не так воспринимается форматирование ячеек. Если применять специальную вставку - только значения, то все работает без ошибок. Т.е. вместо
Код: Выделить всё
ActiveSheet.Paste

нужно написать
Код: Выделить всё
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False


И сразу вопрос. В процессе поиска я заменила аналогичный кусок
Код: Выделить всё
Rows(j & ":" & j).Select
Application.CutCopyMode = False
Selection.Copy
Windows("Книга2.xls").Activate
Range("A" & i).Select
ActiveSheet.Paste

командой
Код: Выделить всё
ActiveSheet.Rows(j).Copy Destination:=Workbooks("Книга2.xls").Worksheets("Лист1").Rows(i)

Нет ли возможности в этом случае указать, что копировать только значения? Не могу найти подробного описания синтаксиса. :(

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.05.2006 (Пт) 12:28

ActiveSheet.Rows(j).Copy
Workbooks("Книга2.xls").Worksheets("Лист1").Rows(i).PasteSpecial Paste:=xlPasteValues
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Annushka
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 17.05.2005 (Вт) 12:44
Откуда: Украина

Сообщение Annushka » 05.05.2006 (Пт) 12:32

И правда.
Я тормоз. :(
Спасибо огромное


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 52

    TopList