将行移动到其他工作表

时间:2010-11-23 17:03:32

标签: excel vba excel-2007

是否有方法或公式可以通过输入条件并按Enter键将某一行移动到不同的工作表?

如果我有3张纸并且每张纸上的一列被称为状态,并且在此列中我输入COMP,是否可以将所有信息移动到名为COMP表的纸张中?

2 个答案:

答案 0 :(得分:1)

在您的工作表上插入此代码

Private Sub Worksheet_Change(ByVal Target As Range)
    If (Range("A1").Value = "COMP") Then ' Replace "A1" for your cell that will contain COMP

    ActiveSheet.Range("1:1").Copy _       ' Replace  1:1 by your souce row
        Destination:=Worksheets("COMP").Range("2:2") 'replace 2:2 by your dest row


    End If
End Sub

当用户更改工作表中的任何值时,如果“A1”的值为“COMP”,则您选择的行(示例中为1)将复制到工作表中的目标行(示例中的第2行) COMP。

答案 1 :(得分:0)

您可以构建一个VBA宏来完成所有移动操作,但这需要用户手动运行它,而不仅仅是在单元格中输入COMP。您也可以在没有用户按COMP的情况下自动更新,并使用引用其他工作表的公式输入(但随后它将始终存在)。

=Sheet1!A1

上面的代码将引用工作表'Sheet1'中的左上角单元格。