这应该很简单,但是我一直在拖网论坛和 SO 答案几个小时才能找到答案,但没有运气,所以我(不情愿地)创建了一个我自己的问题。
我要做的只是创建一个新工作簿,然后将另一个工作簿中的范围粘贴到该工作簿中。听起来很简单..?
我原来的工作簿,我们称之为 Book1。我正在尝试创建一个新工作簿 Book2,我会将单元格 A1:B10的值复制到其中。
这是我的代码的一个版本(从 Book1 打开开始):
Range("A1:B10").Copy
Set NewBook = Workbooks.Add
With NewBook
.SaveAs Filename:="Book2.xls"
End With
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
这会产生“PasteSpecial of Range 类失败”错误。我尝试了以下修复但没有运气:
- 将'Workbooks("Book2.xls").Activate' 添加到代码中
- 删除了 PasteSpecial 行中的额外参数
- 尝试使用 '.Paste' 而不是 '.PasteSpecial'
- 将“Selection.PasteSpecial”更改为“ActiveSheet.PasteSpecial”
- 显式引用复制范围,包括工作簿和工作表引用
- 首先创建新工作簿,然后执行复制,然后重新激活新工作簿并粘贴
以上解决方案均无效......现阶段的任何智慧都将不胜感激!