【发布时间】:2010-11-24 07:43:46
【问题描述】:
是否有一种方法或公式可以通过输入条件并按 Enter 键将某一行移动到不同的工作表?
如果我有 3 张工作表,每张工作表上的一列称为状态,在此列中我输入 COMP,它可以将所有信息移动到称为 COMP 工作表的工作表吗?
【问题讨论】:
-
你需要一个宏。有这方面的经验吗?
标签: excel vba excel-2007
是否有一种方法或公式可以通过输入条件并按 Enter 键将某一行移动到不同的工作表?
如果我有 3 张工作表,每张工作表上的一列称为状态,在此列中我输入 COMP,它可以将所有信息移动到称为 COMP 工作表的工作表吗?
【问题讨论】:
标签: excel vba excel-2007
在您的工作表中插入此代码
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 行)补偿。
【讨论】:
您可以构建一个 VBA 宏来为您完成所有移动,但这需要用户手动运行它,而不仅仅是在单元格中键入 COMP。您也可以让它自动更新,而无需用户按 COMP 并使用引用其他工作表的公式输入(但它会一直存在)。
=Sheet1!A1
以上代码将引用工作表“Sheet1”中左上角的单元格。
【讨论】: