我的代码允许我复制表格的一行,如果它在我的工作表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
答案 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
它有效,但它不干净,我必须用“*”来检测一个角色。其他担心,如果我在几行上有一个共享单元格,它会在副本中添加一个空单元格