我现在已经看了好几年了,我知道它很简单。
下面的代码给我一个错误" Method' PasteSpecial'对象'范围'失败"是错误
With xlWB.Sheets("Lookups")
'Copy lookups tab to word test tables
.Cells.Copy
ThisWorkbook.Sheets("Word_Test_Tables").Cells.PasteSpecial
Application.CutCopyMode = False
End With
在pastespecial上发生错误。
一旦发生此错误,代码将继续执行f5但实际上什么都不会发生,我无法选择任何选项卡或工作簿,并且必须结束应用程序的任务。
在错误行上设置一个断点我可以从
获得一个范围?ThisWorkbook.Sheets("Word_Test_Tables").Cells
我尝试过激活纸张,取消隐藏纸张。我可以确认xlWB是有效的并且打开,.cells.copy看起来正在工作,因为你在工作表周围突出显示。
有什么想法吗?
答案 0 :(得分:1)
我真的不知道为什么要复制所有单元格而不仅仅是使用的范围:
xlWB.Sheets("Lookups").Usedrange.copy _
Destination:=ThisWorkbook.Sheets("Word_Test_Tables").Range("A1")
答案 1 :(得分:0)
您需要退出'with'以将值粘贴到其他工作簿中:
With xlWB.Sheets("Lookups")
'Copy lookups tab to word test tables
.Cells.Copy
End With
ThisWorkbook.Sheets("Word_Test_Tables").Cells.PasteSpecial
答案 2 :(得分:0)
根据源工作簿,您可能拥有不同大小的工作表。请尝试复制较小的Range
。
此外,您可能需要ActiveWorkbook
而不是ThisWorkbook
。