将活动行从一个工作表中复制到另一个

我有工作表1(格式化为表)和工作表2(格式化为表格)。 我想复制活动行从工作表1到工作表2.我已经尝试了下面,其正常范围的作品,但不适用于表格格式化为表。

Private Sub CommandButton1_Click() Dim lastrow As Long With ThisWorkbook.Worksheets("Sheet2") lastrow = Application.Max(4, .Cells(.Rows.Count, "B").End(xlUp).Row + 1) .Range("B" & lastrow).Resize(, 5).Value = _ Range("A" & ActiveCell.Row).Resize(, 5).Value End With End Sub 

更新:

 Private Sub CommandButton1_Click() Dim tbl As ListObject Dim tblRow As ListRow Dim lastRow As Long If UCase(Range("F" & ActiveCell.Row)) <> "YES" Then Exit Sub With ThisWorkbook.Worksheets("Sheet3") 'change Sheet3 to destination sheet - where you need to paste values If Not IsError(Application.Match(Range("B" & ActiveCell.Row), .Range("B:B"), 0)) Then Exit Sub Set tbl = .ListObjects(1) If tbl.Range(tbl.Range.Rows.Count, "B") = "" Then lastRow = Application.Min(tbl.Range(tbl.Range.Rows.Count, "B").End(xlUp).Row + 1, _ Application.Max(4, .Cells(.Rows.Count, "B").End(xlUp).Row + 1)) Else lastRow = tbl.ListRows.add.Range.Row End If End With tbl.Range(lastRow, "B").Resize(, 5).Value = _ Range("A" & ActiveCell.Row).Resize(, 5).Value End Sub