VBA偏移函数给出Synthaxis错误

时间:2015-12-02 13:09:16

标签: excel vba excel-vba

目前在宏上执行VBA的最后几位。此宏旨在通过使用Findstring的输入框,查找行,将其复制到不同的工作表,将此行粘贴到第一个空行,并删除原始工作表上的行。

If Not Rng Is Nothing Then
    Rng.EntireRow.Copy
    Worksheets("ScrapLogboek").Cells(Rows.Count, "A").End(xlUp).Offset(1, -1)
    Worksheets("ScrapLogboek").Range("A2").PasteSpecial
    Rng.EntireRow.Delete
Else
    MsgBox ("Niks gescrapt. Check of het B-nummer correct is.")
End If

End With
    MsgBox ("Logboek gescrapt.")
End If
End Sub

现在我不断在Offset函数上得到一个synthaxis错误。我究竟做错了什么?正如评论中所说;工作表(“ScrapLogboek”)。单元格(Rows.Count,“A”)。End(xlUp).Offset(1,-1)。由于某种原因,这条线给了我狗屎。

1 个答案:

答案 0 :(得分:2)

您位于 A栏,因此无法抵消减去一列,因为左侧没有其他

使用Worksheets("ScrapLogboek").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)试用您的代码,它会起作用! ;)

并且您的代码将始终粘贴在A2上,这可能不是目的,所以这里是更正后的版本:

If Not Rng Is Nothing Then
    Rng.EntireRow.Copy
    Worksheets("ScrapLogboek").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).PasteSpecial
    Rng.EntireRow.Delete
Else
    MsgBox ("Niks gescrapt. Check of het B-nummer correct is.")
End If

End With
    MsgBox ("Logboek gescrapt.")
End If
End Sub