VBA 粘贴剪贴板内容(只有值)
VBA Paste clipboard content (only value)
我正在尝试将剪贴板内容粘贴到单元格 "A1"
Range("A1").PasteSpecial xlPasteValues
但是我收到 "PasteSpecial method of Range class failed" 错误!
感谢任何帮助!
请测试此代码(它仅适用于文本剪贴板类型):
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
仅粘贴选择的值
错误
运行-时间错误'1004':
范围 class 的 PasteSpecial 方法失败
事实
xlPasteValues
仅在 单元格 的(内容)被 复制(进入剪贴板)后使用。
问题
总是在没有复制单元格或剪切单元格后出现此错误。
解决方案
因此您应该适当地检查(测试)CutCopyMode
,您的公式就可以了:
Sub PSpec()
If Application.CutCopyMode = xlCopy Then
Range("A1").PasteSpecial xlPasteValues
End If
End Sub
我正在尝试将剪贴板内容粘贴到单元格 "A1"
Range("A1").PasteSpecial xlPasteValues
但是我收到 "PasteSpecial method of Range class failed" 错误!
感谢任何帮助!
请测试此代码(它仅适用于文本剪贴板类型):
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
仅粘贴选择的值
错误
运行-时间错误'1004':
范围 class 的 PasteSpecial 方法失败
事实
xlPasteValues
仅在 单元格 的(内容)被 复制(进入剪贴板)后使用。
问题
总是在没有复制单元格或剪切单元格后出现此错误。
解决方案
因此您应该适当地检查(测试)CutCopyMode
,您的公式就可以了:
Sub PSpec()
If Application.CutCopyMode = xlCopy Then
Range("A1").PasteSpecial xlPasteValues
End If
End Sub