VBA粘贴剪贴板内容(仅值)

时间:2020-03-22 17:45:43

标签: excel vba paste

我正在尝试将剪贴板内容粘贴到单元格“ A1”中

Range("A1").PasteSpecial xlPasteValues

但是我收到“ Range类的PasteSpecial方法失败”错误!

感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

请测试此代码(仅适用于文本剪贴板类型):

Sub testClipB()
 Dim CB As Object
 Set CB = CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
 CB.GetFromClipboard
 Range("A1").value = CB.GetText
End Sub

或者这个:

Sub testPasteClipB_Bis()
    Dim DataObj As MSForms.DataObject
    Set DataObj = New MSForms.DataObject
    DataObj.GetFromClipboard

    Range("A2").value = DataObj.GetText(1)
End Sub

答案 1 :(得分:0)

仅粘贴选择中的值

错误

运行时错误“ 1004”:

Range类的PasteSpecial方法失败

事实

xlPasteValues仅在单元格(的内容)已复制(放入剪贴板)后使用。

问题

该错误总是在没有复制单元格或剪切单元格之后发生。

解决方案

因此,您应该适当地检查(测试)CutCopyMode,您的公式会很好:

Sub PSpec()
     If Application.CutCopyMode = xlCopy Then
         Range("A1").PasteSpecial xlPasteValues
     End If
End Sub
相关问题