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

问题描述 投票:0回答:2

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

Range("A1").PasteSpecial xlPasteValues

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

感谢任何帮助!

excel vba paste
2个回答
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

0
投票

仅粘贴选择中的值

错误

运行时错误'1004':

Range类的PasteSpecial方法失败

事实

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

问题

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

解决方案>>

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

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

© www.soinside.com 2019 - 2024. All rights reserved.