遇到错误 - 1004'应用程序定义或对象定义错误'使用PasteValues

时间:2017-07-12 20:58:28

标签: excel vba excel-vba

运行错误1004尝试将单元格值复制并粘贴到自身上(以消除公式并获取值)。当我将它记录在工作表上时工作正常,唉当我在子程序中实现它时它不起作用。 PasteSpecial行发生错误:

If i = ws_count Then
    'ws_count - 2 allows us to place the new tab before the last sheet in the data file (admin)
    Sheets(twomonthsago).Copy Before:=Sheets(ws_count - 2)
    Sheets(twomonthsago & " (2)").Name = lastmonth & " test"
    Sheets(twomonthsago).Cells.Copy
    Sheets(twomonthsago).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If

我还尝试在粘贴之前直接选择Range("A1"),但仍然收到错误。我的所有变量都有分配给它们的有效字符串,因此不存在问题。

1 个答案:

答案 0 :(得分:2)

直接分配。

替换这些:

Sheets(twomonthsago).Cells.Copy
Sheets(twomonthsago).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

使用:

With Sheets(twomonthsago).UsedRange
    .Value = .Value
End With