Страницы: 1
RSS
Ошибка при вставке данных "метод pastespecial из класса range завершен неверно"
 
Помогите пожалуйста, есть макрос вставки скопированных данных в excel через горячие клавиши "Ctrl+q", но он перестал работать в Excel 2016-2019, выдаёт ошибку "метод pastespecial из класса range завершен неверно".  в чём может быть проблема?

Код
Sub QuickPaste()
' Сочетание клавиш: Ctrl+q

    On Error Resume Next
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub
 
Да проблем куча: начиная от объединенных ячеек и защиты листа и заканчивая попыткой вставки в отфильтрованные ячейки.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
проблема может быть в том что ничего не скопировано в буфер обмена
или еще несколько сотен вариантов причин
а чтобы не гадать:
1. прикрепите к сообщению файл
2. напишите, какие действия в нем нужно выполнить, чтобы воспроизвести ошибку
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
у меня ваш код работает. Но я бы ещё добавил в него 2 строки

Код
Sub QuickPaste()
' Сочетание клавиш: Ctrl+q
 
    On Error Resume Next
    Selection.PasteSpecial Paste:=xlPasteValues
    Selection.Cells(1, 1).Select 'снимаем выделение с вставленных ячеек
    Application.CutCopyMode = False 'снимаем выделением с копируемой области
End Sub
Изменено: New - 24.02.2021 11:51:59
 
Поиск похожих тем легко ищется в инете по строке ошибки.

https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=60374&am...
Изменено: Marat Ta - 24.02.2021 12:17:37
 
спасибо всем за ответы

- книга новая, только что созданная, ничем не заполненная, объединенных ячеек , фильтров, защиты - нет
- макрос встроен в личную книгу макросов "personal.xlsb"
- действия простые: необходимо вставить данные из буфера обмена в лист без форматирования
- для теста перенес макрос в книгу, всё равно выдаёт ошибку, в буфере обмена точно есть текст

Цитата
у меня ваш код работает. Но я бы ещё добавил в него 2 строки
- а у вас какая версия excel? макрос в 2013 работает, в 2016 и выше - выдаёт ошибку

Цитата
Поиск похожих тем легко ищется в инете по строке ошибки.
- простите, но моего уровня excel не хватает, что-бы разобраться в той ветке форума, прямого ответа на мой вопрос я там не нашёл
 
У меня Excel 2019. Потестируйте этот файл
Изменено: New - 24.02.2021 15:37:04
 
всё работает, спасибо большое
а из-за чего мой макрос не работал?
 
Не знаю (
У меня тоже в вашем файле не работал)
 
Цитата
tyomi4 написал:
действия простые: необходимо вставить данные из буфера обмена в лист без форматирования
Метод Range.Pastespecial предназначен для вставки данных из скопированного в том же самом экземпляре Excel диапазона ячеек (что и проверяет макрос коллеги из #7). Если в буфере обмена что-то иное, то макрос из #1 будет выдавать указанную ошибку.
Владимир
Страницы: 1
Наверх