2014-10-16 4 views
0

У меня есть макрос, который я использую для вставки в excel, он отлично работает, за исключением случаев копирования и вставки из одной ячейки в другую. Другими словами, он отлично работает с текстом с веб-страницы, но не из одной ячейки в другую. Сообщение об ошибке говорит Run time error '1004': PasteSpecial method of Worksheet class failed. Вот код:Скопировать и вставить Excel Macro

Sub MousePaste() 
' 
' MousePaste Macro 
' 
' Keyboard Shortcut: Ctrl+Shift+M 
' 
    ActiveCell.Select 
    ActiveSheet.PasteSpecial Link:=False, DisplayAsIcon:= _ 
     False, NoHTMLFormatting:=True 

End Sub 
+0

Что вы пытаетесь сделать, когда копируете одну ячейку в другую, что не может быть достигнуто с помощью горячей клавиши Ctrl + V? NB: Вы можете исключить «ActiveCell.Select» - это избыточно. –

ответ

1

Есть две реализации в PasteSpecial методы.

Worksheet.PasteSpecial, который вставляет из буфера обмена и

Range.PasteSpecial, который приклеивает из/в диапазоне.

Возможно, вам, вероятно, нужны последние примеры в приведенных выше ссылках.

+0

Есть ли способ использовать Range.PasteSpecial динамически? Я хочу, чтобы он вставлялся в любую ячейку, которую я выбрал. Спасибо, Гаррет. –

+0

что-то вроде этого ActiveCell.Copy затем выделите строку .Range («D1: D5»). PasteSpecial Operation: = xlPasteSpecialOperationAdd – barryleajo

+0

Это будет вставляться в D1: D5 каждый раз, когда я хочу, чтобы он вставлялся в любую ячейку, которую я выбрал. –