状态更改后,在同一工作簿中将一行从一个工作表移动到另一个工作表的宏

时间:2011-02-01 17:59:57

标签: excel excel-vba worksheet-function vba

我有一个包含2个工作表的工作簿(1个工作表称为final,1个工作表称为pending),它们使用相同的列标题和列公式。

我很难找到一个宏/ VBA,它可以帮助我在第四列的状态从挂起更改为最终时自动将数据行从“挂起”工作表传输到“最终”工作表。这样,待处理和最终客户的所有数据都保存在单独的表格中。

请帮忙。

1 个答案:

答案 0 :(得分:0)

在您的工作簿代码上尝试类似的操作:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "pending" And Target.Column = 4 Then
    If Sh.Cells(Target.Row, Target.Column) = "final" Then
        Sh.Select
        Sh.Rows(LTrim(Str(Target.Row)) & ":" & LTrim(Str(Target.Row))).Select
        Selection.Copy ' or cut
        Sheets("final").Select
        Rows("20:20").Select ' here is your destination row... you must set a global to control it...
        Selection.Insert Shift:=xlDown
    End if
End Sub
祝你好运!