Excel根据一个列值将整个表格从一个表格复制到另一个表格

我需要从工作表中复制整行,并粘贴在具有相同标题的另一个工作表考虑一个特定的列值等于89581.But我的VBA抛出424错误。请帮助。

Sub CopyData() Dim c As Range Dim Row As Long Dim sheetUse As Worksheet Dim sheetCopy As Worksheet Set sheetUse = Sheets("Data1").Select Set sheetCopy = Sheets("Data2").Select Row = 3 'Assume same header in sheet2 as in sheet1 For Each c In sheetUse.Range("O3", Sheet1.Range("O65536").End(xlUp)) If c = 89581 Then 'copy this row to sheet2 Row = Row + 1 c.EntireRow.Copy sheetCopy.Cells(Row, 1) End If Next c Application.CutCopyMode = False End Sub 

在这里你去build立一个复制的参考,然后复制和粘贴一次。

 Sub CopyToOtherSheet() Dim sheetUse As Worksheet, sheetCopy As Worksheet, i As Long, CopyRange As String Set sheetUse = Sheets("Data1") Set sheetCopy = Sheets("Data2") For i = 3 To sheetUse.Cells(Rows.Count, 15).End(xlUp).Row If sheetUse.Cells(i, 15) = 89581 Then CopyRange = CopyRange & "," & i & ":" & i Next i sheetUse.Range(Right(CopyRange, Len(CopyRange) - 1)).Copy sheetCopy.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteAll 'Change to values or formats or whatever you want Application.CutCopyMode = False End Sub 

假设的数据1是数据input的表格,数据2是要复制的数据表格。