根据单元格值将多个工作表中的行复制到一个工作表中

时间:2016-06-22 15:31:11

标签: excel vba

我想基于单元阀将多张纸中的行复制到一张组合纸中。

详细说明:
我有多个项目编号是标签(2016-010-082,2016-010-086,2016-060-015 ......等)。在每张纸上的E栏中,我有一个下拉框,您可以根据此任务是否完成选择“是”或“否”。我想在所有“no”的任务中,该行将复制到一张表中,这样我就可以看到所有尚未完成的项目的所有任务。

如果在特定项目选项卡上将“否”更改为“是”,我希望从编译的工作表中删除该行。

我还希望每个单元格D2和D3显示在已编译工作表的行A和B中,因为这是我需要在编译工作表上看到的每个选项卡的标准信息,因此我知道它是哪个项目编号和项目名称。

示例图片。 Sample Image

这是我认为可用于一张纸。

Sub Test()
    For Each Cell In Sheets(1).Range("E:E")
        If Cell.Value = "NO" Then
            matchRow = Cell.Row
            Rows(matchRow & ":" & matchRow).Select
            Selection.Copy
            Sheets("Sheet2").Select
            ActiveSheet.Rows(matchRow).Select
            ActiveSheet.Paste
            Sheets("Sheet1").Select
        End If
    Next
End Sub

1 个答案:

答案 0 :(得分:0)

对于第一部分,你想要一个只有“No”的设施列表,你可以使用这个数组公式(用 CTRL + SHIFT + ENTER 输入):

=INDEX(B$2:B$4,SMALL(IF($D$2:$D$4="Yes",ROW(B$2:B$4)-ROW(B$2)+1),ROWS(B$2:B2)))

假设您的数据布局如下: enter image description here

然后,将IfError([formula],"")包裹起来以隐藏#NUM错误。当您将“已完成”中的“否”更改为“是”时,右侧的列表将更新。

相关问题