首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel VBA -粘贴剪贴板上的文本(错误1004)

Excel VBA -粘贴剪贴板上的文本(错误1004)
EN

Stack Overflow用户
提问于 2020-03-04 08:20:50
回答 1查看 800关注 0票数 0

有人能帮我处理这段代码吗?

代码语言:javascript
运行
复制
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和运行宏。这个宏应该转到"sheet 3“,根据A2值设置"Val”,转到sheet 1,选择AY & "Val“中的范围,然后从剪贴板粘贴到这个单元格数据(数字)。

但是当宏到达第7行(Selection.PasteSpecial)时,Im会出错:

运行时错误“1004”:Range类的PasteSpecial方法失败

请把窃听器放在哪里:)

EN

Stack Overflow用户

回答已采纳

发布于 2020-03-04 09:39:58

必须使用MSForms.DataObject与剪贴板进行交互:

代码语言:javascript
运行
复制
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

要将文本放入剪贴板,可以使用以下2种方法:

代码语言:javascript
运行
复制
oData.SetText sText
oData.PutInClipboard
票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60521713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档