如何将所有提交的行从一个表复制到另一个表

嗨我使用此代码复制固定范围从工作表“t1”到工作表“t2”中的第一个空行。 我想select在第一列有价值的所有行。 例。 在这个例子中,我想复制从约翰开始的所有值,以44结尾(第2,3,4和5行)

1 Name address zip 2 john aaa 11 3 jane bbb 22 4 carl ccc 33 5 jeff 44 

这是我正在使用的代码。

 Sub Botão1_Clique() Application.ScreenUpdating = False Dim copySheet As Worksheet Dim pasteSheet As Worksheet Set copySheet = Worksheets("t1") Set pasteSheet = Worksheets("t2") copySheet.Range("A3:E3").Copy pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues Application.CutCopyMode = False Application.ScreenUpdating = True End Sub 

使用AutoFilter方法尝试下面的代码,以便在工作表(“t1”)中允许复制所有行,以防列中有数据行但列A中为空。

 Option Explicit Sub Botão1_Clique() Application.ScreenUpdating = False Dim copySheet As Worksheet Dim pasteSheet As Worksheet Dim Rng As Range Set copySheet = Worksheets("t1") Set pasteSheet = Worksheets("t2") copySheet.UsedRange.AutoFilter copySheet.UsedRange.AutoFilter Field:=1, Criteria1:="<>" ' <-- sut autofilter to exclude blanks on column A Set Rng = Intersect(copySheet.UsedRange.Offset(1), copySheet.UsedRange.SpecialCells(xlCellTypeVisible)) ' <-- set range to only visible rows without the header row Rng.Copy pasteSheet.Range("A" & pasteSheet.Cells(pasteSheet.Rows.Count, "A").End(xlUp).Row + 1).PasteSpecial xlPasteValues ' <-- paste values to first empty row at "t2" worksheet Application.CutCopyMode = False Application.ScreenUpdating = True End Sub