VBA .Range" Object Required"

时间:2018-02-14 14:06:48

标签: excel vba

我在过去一小时左右的时间内对此进行了调查,并且无法弄明白。

Sub Paste1()
    Dim NextRow As Range
    Set NextRow = Range("A" & Sheets("AMCurrent").UsedRange.Rows.Count + 1)
    AMPaste.Range("A3:F3").Copy
    AMCurrent.Activate
    NextRow.PasteSpecial Paste:=xlValues, Transpose:=False
    Application.CutCopyMode = False
    Set NextRow = Nothing
End Sub

获取"对象错误"在第4行," AMPaste.Range(" A3:F3")。复制"。不确定该怎么做。

任何帮助都将不胜感激。

谢谢。

2 个答案:

答案 0 :(得分:0)

我假设您没有声明您的工作表,并且您使用了他们的名字而不是表格(" SheetName"),但我相信这可能是您的解决方案:

 Sub Paste1()
    Dim NextRow As Long
    Dim wsPaste As Worksheet: Set wsPaste = Sheets("AMPaste")
    Dim wsCurrent As Worksheet: Set wsCurrent = Sheets("AMCurrent")

    NextRow = wsCurrent.Cells(wsCurrent.Rows.Count, "A").End(xlUp).Row + 1
    wsPaste.Range("A3:F3").Copy
    wsCurrent.Range("A" & NextRow).PasteSpecial Paste:=xlValues, Transpose:=False
    Application.CutCopyMode = False

End Sub

答案 1 :(得分:0)

我有同样的问题。我的工作表名为“ tagsListSheet”,在脚本中,我有一个工作表变量也称为“ tagsListSheet”。我的产生您的错误的代码行看起来像:

Set wwTags = Range(tagsListSheet.Cells(2, 2), tagsListSheet.Cells(lastTagRow, 2))

当我更改工作表变量的名称时,它起作用了。

Set wwTags = Range(tagSheet.Cells(2, 2), tagSheet.Cells(lastTagRow, 2))