如何复制和粘贴行从另一个工作表中的特定单元格开始

我想从Pipeline Report表中复制列T中包含文本“AllScripts”的所有行。

然后,我想将它们粘贴到从“A14”开始的另一张纸上,然后放下。

现在这个代码粘贴他们从“A2”,但我需要它从A14开始,并从那里下去。

 Sub extractAllscripts() Dim myrange As Range Dim lr as Long Sheets("Pipeline Report").Select Set myrange = Sheets("Pipeline Report").Range("T1", Range("T" & Rows.Count).End(xlUp)) For Each cell In myrange If cell.Value = "Allscripts" Then lr = Sheets("Macro Test Page").Range("T" & Rows.Count).End(xlUp).Row cell.EntireRow.Copy Destination:=Sheets("Macro Test Page").Range("A" & lr + 1) End If Next cell End Sub 

这是一个不好的做法,但因为我们不知道你的表是如何设置的,所以我会build议这样做:

 Sub extractAllscripts() Dim myrange As Range Dim lr as Long Dim myoffset As Integer Sheets("Pipeline Report").Select Set myrange = Sheets("Pipeline Report").Range("T1", Range("T" & Rows.Count).End(xlUp)) myoffset = 13 For Each cell In myrange If cell.Value = "Allscripts" Then lr = Sheets("Macro Test Page").Range("T" & Rows.Count).End(xlUp).Row cell.EntireRow.Copy Destination:=Sheets("Macro Test Page").Range("A" & lr + myoffset) End If myoffset = 1 Next cell End Sub 

或者另一个糟糕的解决

在你的代码中, lr = Sheets("Macro Test Page").Range("T" & Rows.Count).End(xlUp).Row with lr = lr + 1 and lr lr = Sheets("Macro Test Page").Range("T" & Rows.Count).End(xlUp).Row outside of the loop in Range("A" & lr + 1)使用lr而不是lr + 1