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取最后一行