方法' PasteSpecial'对象'范围'失败

时间:2015-05-28 15:23:24

标签: excel vba excel-vba

我现在已经看了好几年了,我知道它很简单。

下面的代码给我一个错误" 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看起来正在工作,因为你在工作表周围突出显示。

有什么想法吗?

3 个答案:

答案 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