目前在宏上执行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)。由于某种原因,这条线给了我狗屎。
答案 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