excel - 无法弄清楚为什么范围类的 PasteSpecial 方法失败 [错误代码 1004]
问题描述
我正在尝试将其他工作簿中的数据粘贴到我编写宏的工作簿中:
Dim excel As excel.Application
Dim wb As excel.Workbook
Dim wb1 As excel.Workbook
Dim sht As excel.Worksheet
Set excel = CreateObject("excel.Application")
excel.Visible = False
Set wbAxes = Workbooks.Open("PATH")
Set wb = excel.Workbooks.Open("PATH")
'wb.Calculate
Set wb1 = excel.Workbooks.Open("PATH")
wb.Worksheets("MySheet1").Calculate
wb.Worksheets("MySheet1").Range("N7:P" & wb.Worksheets("MySheet1").Range("P5").CurrentRegion.Rows.Count).Copy
ThisWorkbook.Sheets("MYSheet").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False
wb.Close SaveChanges:=False
wb1.Close SaveChanges:=False
但我面临问题 1004:“范围类的粘贴特殊方法失败”
可以肯定的是,数据已被复制,因为当我执行“CTRL + V”时,它可以很好地粘贴数据,但是由于宏显示而粘贴
错误 1004:范围类的 PasteSpecial 方法失败
编辑 :
当我尝试使用.Paste
(下面的代码)而不是.PasteSpecial
我得到:
错误 438:对象不支持属性或方法
Dim excel As excel.Application
Dim wb As excel.Workbook
Dim wb1 As excel.Workbook
Dim sht As excel.Worksheet
Set excel = CreateObject("excel.Application")
excel.Visible = False
Set wbAxes = Workbooks.Open("PATH")
Set wb = excel.Workbooks.Open("PATH")
'wb.Calculate
Set wb1 = excel.Workbooks.Open("PATH")
wb.Worksheets("MySheet1").Calculate
wb.Worksheets("MySheet1").Range("N7:P" & wb.Worksheets("MySheet1").Range("P5").CurrentRegion.Rows.Count).Copy
ThisWorkbook.Sheets("MYSheet").Range("A1").Paste
wb.Close SaveChanges:=False
wb1.Close SaveChanges:=False
解决方案
推荐阅读
- html - 如何从 URL 中抓取整个文本正文?
- ios - iOS Objective-C 中的 URL 构建存在哪些本机类?
- apache-spark - pyspark:传递给 cast() 的 dataType arg 的有效字符串
- python - 从 python 脚本自动命令行输入到运行的 python shell-script
- java - 如何修复 javaScriptEnabled ?它总是返回 null
- c - C fwrite() 将 cpu 卡在 100%
- typescript - 打字稿检查未定义并分配给变量
- npm - Travis 错误:包不在 npm 注册表中
- kubernetes - 无法在港口显示图像
- python - 将 DataFrame 列添加到基于另一个列实例的组