如何复制和粘贴行从另一个工作表中的特定单元格开始
我想从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
。