对象'Range'的方法'PasteSpecial'失败
我已经看了很多年了,我知道它很简单。
下面的代码是抛出一个错误“方法'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通过,但实际上什么都不会发生,我不能select任何标签或工作簿,并不得不结束任务的应用程序。
把一个断点放在错误线上我可以得到一个范围
?ThisWorkbook.Sheets("Word_Test_Tables").Cells
我已经尝试激活工作表,取消隐藏工作表。 我可以确认xlWB是有效的,并打开.cells.copy看起来正在工作,因为你得到的表单高亮。
有任何想法吗?
我不知道你为什么要复制所有的单元格,而不是仅仅使用范围:
xlWB.Sheets("Lookups").Usedrange.copy _ Destination:=ThisWorkbook.Sheets("Word_Test_Tables").Range("A1")
您需要从“with”中将其粘贴到其他工作簿中:
With xlWB.Sheets("Lookups") 'Copy lookups tab to word test tables .Cells.Copy End With ThisWorkbook.Sheets("Word_Test_Tables").Cells.PasteSpecial
您可能有不同大小的工作表取决于源工作簿。 尝试复制一个较小的Range
。
此外,您可能需要ActiveWorkbook
而不是ThisWorkbook
。