[英]How do I loop through a column, if a cell matches some criteria then paste that whole row into another worksheet
我有下面的代碼選擇我想要的值,但是我想知道如何在找到該值的基礎上復制該行,然后在特定點粘貼到另一個工作表中,例如工作表2 E5。
For Each cell In Sheets("EMAIL DATA").Range("E:E")
If cell.Value = "Rob" Then
'Do something
End If
Next
例如,您不能將行粘貼到單元格E5中,因為復制的行將比您允許粘貼的空間長。
For Each cell In Sheets("EMAIL DATA").Range("E:E")
If cell.Value = "Rob" Then
Worksheets(2).Range("E5").EntireRow.Value = cell.EntireRow.Value
End If
Next
但這會繼續騎同一排,更好的是
i = 1
For Each cell In Sheets("EMAIL DATA").Range("E:E")
If cell.Value = "Rob" Then
Worksheets(2).Cells(i, 1).EntireRow.Value = cell.EntireRow.Value
i = i + 1
End If
Next
另外,還要研究獲取E列中的最后一個單元,這樣您就不會浪費時間遍歷所有100萬行,例如Sheets(1).Range("E" & Cells(Rows.Count, 5).End(xlUp).Row)
編輯
根據您的評論
i = 1
For Each cell In Sheets("EMAIL DATA").Range("E" & Cells(Rows.Count, 5).End(xlUp).Row)
If cell.Value = "Rob" Then
Worksheets(2).Cells(i, 1).Resize(, 5).Value = Cells(cell.Row, 1).Resize(, 5).Value
i = i + 1
End If
Next
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.