VBA:如何复制+;通过在工作表之间的嵌套For Each循环中循环的单元格粘贴两行

VBA:如何复制+;通过在工作表之间的嵌套For Each循环中循环的单元格粘贴两行,vba,excel,Vba,Excel,我正在尝试粘贴先前在另一个工作表中复制的行。这是我当前的代码: Sub Paste() Dim cellSearch As Range, rng As Range, prodID As Range, rngHdrFound As Range, ws As Worksheet, cell As Range Set ws = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))

我正在尝试粘贴先前在另一个工作表中复制的行。这是我当前的代码:

Sub Paste()
    Dim cellSearch As Range, rng As Range, prodID As Range, rngHdrFound As Range, ws As Worksheet, cell As Range
    Set ws = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
    ws.Select
    Set rng = ThisWorkbook.Sheets(1).UsedRange
    Set rngHdrFound = ThisWorkbook.Sheets(2).UsedRange
    For Each cellSearch In rng
        For Each prodID In rngHdrFound
            'If the cell value is equal to the PROD ID value then paste the entire row to the new workbook
            If (prodID.Value = cellSeach.Value) Then
                For Each cell In ws.Columns(1).Cells.Address
                    If IsEmpty(cell) = True Then
                    ThisWorkbook.Sheets(1).prodID.Rows.Copy _
                    ThisWorkbook.ws.Range("cell").Rows
                    End If
                Next cell
            End If
        Next prodID
    Next cellSearch
End Sub
在这段代码中,我创建了一个新的工作表,为前两张工作表中的数据设置范围,然后循环通过ForEach循环,以便将前两张工作表的数据进行比较。当找到匹配项时,它会将数据粘贴到我们在开始时创建的新工作表中


我不确定我写的复制+粘贴语句是否正确,因为我的复制函数上出现了
“运行时错误1004:对象的方法范围\u工作表失败”
。如果有人能帮我让这段代码正常工作,那就太棒了。提前感谢大家的帮助

您希望EntireRow不是行,并且单元格是一个变量范围,不应将其包装在范围()中:


非常感谢你。为什么我不必指定
单元格
所在的工作表?因为变量已经将工作簿和工作表作为变量对象的一部分。
                prodID.EntireRow.Copy cell