[英]Excel VBA - paste text from clipboard (error 1004)
有人可以帮助我使用此代码吗?
Sub TEST()
Dim Val As Variant
Sheets("Sheet 3").Select
Val = Range("A2").Value
Sheets("Sheet 1").Select
Range("AY" & Val).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sheet 3").Select
Application.CutCopyMode = False
End Sub
我必须将简单的数字从网络传输到 excel。 我需要将数字从网络复制到剪贴板,然后转到 excel 并运行宏。 这个宏应该根据 A2 值转到“工作表 3”设置“Val”,转到工作表 1,在 AY 和“Val”中选择范围并从剪贴板粘贴到该单元格数据(数字)。
但是当宏到达第 7 行(Selection.PasteSpecial)时,我收到错误:
运行时错误“1004”:Range 类的 PasteSpecial 方法失败
请问哪里有BUG:)
您必须使用 MSForms.DataObject 与剪贴板交互:
Sub TextFromClipboard()
'This works only with text!
Dim oData As Object
'New MSForms.DataObject with guid and late binding
Set oData = CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
'Get text from clipboard
'to the DataObject
oData.GetFromClipboard
'Show text
MsgBox oData.GetText
End Sub
要将文本放入剪贴板,您可以使用以下两种方法:
oData.SetText sText
oData.PutInClipboard
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.