Excelmacrosbuild议
我有一个工作簿上运行以下macros将具有特定条件的数据从“主”表复制到“隔离”表单;
Dim LR As Long, LR2 As Long Application.ScreenUpdating = False With Sheets("Quarantined") LR2 = .Range("L" & Rows.Count).End(xlUp).Row If LR2 > 2 Then .Range("A3:I" & LR2).ClearContents End If End With With Sheets("Master") LR = .Cells(Rows.Count, 8).End(xlUp).Row LR2 = Sheets("Quarantined").Range("L" & Rows.Count).End(xlUp).Row With .Range("L2:L" & LR) .AutoFilter Field:=1, Criteria1:="QUARANTINED" .Offset(1).Resize(LR).EntireRow.Copy Sheets("Quarantined").Range("A" & LR2 + 1) .AutoFilter End With End With Application.ScreenUpdating = True
它完美的工作,但如果我更新主人并再次运行macros将它粘贴在隔离表单上的原始信息。 我怎样才能覆盖已经存在的信息,而不是粘贴在下面?
这是希望
它是粘贴在原来的信息,因为你告诉它。
您正在清除.Range("A3:I" & LR2).ClearContents
但您正在从Col L LR2 = Sheets("Quarantined").Range("L" & Rows.Count).End(xlUp).Row
.Range("A3:I" & LR2).ClearContents
中获取下一个可用行LR2 = Sheets("Quarantined").Range("L" & Rows.Count).End(xlUp).Row
将您的代码更改为此
.Range("A3:L" & LR2).ClearContents
或者基于Col A而不是Col L取最后一行