excel 使用Offset函数复制到不同工作表的第一个空行

ncgqoxb0  于 2023-03-20  发布在  其他
关注(0)|答案(1)|浏览(138)

此宏旨在通过输入框使用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函数出现语法错误。

Worksheets("ScrapLogboek").Cells(Rows.Count, "A").End(xlUp).Offset(1, -1).
kknvjkwl

kknvjkwl1#

您在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

相关问题