将活动行从一张表剪切并粘贴到另一张纸上的另一张表

时间:2019-12-18 21:34:19

标签: excel vba userform

好的。这听起来很简单,但是...我有一个电子表格,其中包含一个跟踪我的采购订单的用户表单。当我从用户表单中搜索PO#时,数据将返回到列表框。我单击所需的列表框条目,然后信息填充用户窗体文本框。我想单击一个名为“ reconcile”的按钮以从当前工作表“ Purchase Orders”中剪切该记录,表名称为“ T-INV”)并将其粘贴到工作表“ Reconciled”中,该表是“ Reconciled”,这些表是相同的在列中。我还希望将剪切的行从“购买订单”表中删除。

我知道这听起来很复杂,但是我只想使用命令按钮将所选的PO从一张纸/表剪切并粘贴到另一张纸/表。如果需要,我可以提供代码,但是有很多按钮。我需要表格来做的一切。我只需要一个宏或VBA代码即可剪切活动行并将其粘贴到对帐单上的其他表格中。宏记录器对此不起作用。我只希望粘贴的值不是原始表中的公式。

Private Sub CmdRecon_Click()
    Dim i As Long
    For i = Cells(Rows.Count, 25).End(xlUp).Row To 1 Step -1
        If Cells(i, 25) = "y" Then
            Range("a" & i & ":Y" & i).Copy Sheet3.Cells(Rows.Count, 1).End(xlUp).Offset(1)
            Cells(i, 25).EntireRow.Delete
        End If
    Next
End Sub    

1 个答案:

答案 0 :(得分:0)

Range("a" & i & ":Y" & i).Copy Sheet3.Cells(Rows.Count, 1).End(xlUp).Offset(1)

您正在使用Range.Copy,它会复制该范围内的所有

您要将范围复制到剪贴板,然后将PasteSpecial复制到目标范围:

Range("a" & i & ":Y" & i).Copy
Sheet3.Cells(Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial xlPasteValues