2014-10-16 300 views
0

我有一个宏,我用它来粘贴在Excel中,它工作正常,除非从一个单元格复制并粘贴到另一个单元格。换句话说,它可以很好地处理来自网页的文本,而不是从一个单元格到另一个单元格。错误消息说Run time error '1004': PasteSpecial method of Worksheet class failed.这里是代码:复制并粘贴Excel宏

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

End Sub 
+0

当您将一个单元格复制到另一个单元格时,您试图执行的操作是什么,这无法通过热键Ctrl + V完成?注意:你可以消除“ActiveCell.Select” - 这是多余的。 – 2014-10-16 14:00:39

回答

1

有两种PasteSpecial方法的实现。

Worksheet.PasteSpecial从剪贴板粘贴和

Range.PasteSpecial从/到的范围内粘贴。

您可能需要后者,上述链接中的示例。

+0

有没有办法使用Range.PasteSpecial动态?我希望它能粘贴到我选择的任何单元格中。谢谢,加勒特。 – 2014-10-16 14:27:17

+0

这样的事情ActiveCell.Copy然后分隔线 。范围(“D1:D5”)。PasteSpecial操作:= xlPasteSpecialOperationAdd – barryleajo 2014-10-16 14:36:05

+0

这将粘贴到D1:D5每次我想要它粘贴到我碰巧选择的任何单元格。 – 2014-10-16 14:38:23