VBA偏移函数给出Synthaxis错误

目前正在做一个macros的VBA的最后一个位。 该macros使用Findstring通过Inputbox,find一行,将其复制到不同的工作表中,将该行粘贴到第一个空行上,然后删除原始工作表上的行。

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 

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

你在A列 ,所以你不能减去一列,因为左边没有其他的

Worksheets("ScrapLogboek").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)试试你的代码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