【发布时间】:2020-06-16 16:32:24
【问题描述】:
有人可以帮我处理这段代码吗?
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 并运行宏。 此宏应转到“表 3”,根据 A2 值设置“Val”,转到表 1,在 AY 和“Val”中选择范围,然后从剪贴板粘贴到此单元格数据(数字)。
但是当宏到达第 7 行 (Selection.PasteSpecial) 时出现错误:
运行时错误“1004”: Range 类的 PasteSpecial 方法失败
哪里有错误,请:)
【问题讨论】:
-
请分享您的确切错误
-
首先,如果您想解决您的问题,请不要在 cmets 中进行 - 编辑它。其次,与回溯共享确切的错误;它将显示错误发生的确切位置。
-
这是我的观察。当您运行宏时,剪贴板被清空。因此,剪贴板中将没有任何内容可以粘贴。您最好在宏中包含代码以从网站获取值,例如 vba 中的网络抓取
-
@Naresh 我在 Windows 10 上运行,看起来 Excel 没有看到复制到其他地方的剪贴板信息(在 excel 中)。当我从记事本复制一些东西到剪贴板,然后转到 excel,运行宏(得到错误),我可以回到记事本并粘贴剪贴板内容(剪贴板不为空)。