簡體   English   中英

我如何遍歷一列,如果單元格符合某些條件,則將整行粘貼到另一個工作表中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM