如果单元格值等于,则复制行,然后使用新行粘贴

时间:2018-06-06 16:38:59

标签: excel vba excel-vba

我的代码允许我复制表格的一行,如果它在我的工作表SAVE_01中包含单词SAVE_01。然后,复制的行会粘贴到工作表SAVE_03中,但是使用关键字SAVE_01标识的每个新行都不会在上一行之后开始。

检测到并覆盖了新行。

你知道如何检测最后一个空行并将新行放在后面吗?

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Value = "SAVE_01" Then Target.EntireRow.Copy _
        Destination:=Sheets("SAVE_03").Range("A" & Rows.Count).End(xlUp).Offset(1)
End Sub

1 个答案:

答案 0 :(得分:0)

我试过这样:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Value = "SAVE_01" Then Target.EntireRow.Copy _
Destination:=Sheets("SAVE_03").Range("A" & Rows.Count).End(xlUp).Offset(1)

Dim lastrow As Long
lastrow = Worksheets("SAVE_03").Cells(Rows.Count, "A").End(xlUp).Row + 1
Worksheets("SAVE_03").Cells(lastrow, "A").Value = "*"

End Sub

它有效,但它不干净,我必须用“*”来检测一个角色。其他担心,如果我在几行上有一个共享单元格,它会在副本中添加一个空单元格