2016-06-22 91 views
0

我正在寻找一个代码,可以将多个工作表中的行复制到基于单元阀的组合工作表中。Excel VBA代码根据单元值将多个工作表中的行复制到一个工作表中

详情: 我有多个选项卡(2016-010-082,2016-010-086,2016-060-015等)。在这些工作表的E栏中,我有一个下拉框,您可以根据该任务是否完成来选择“是”或“否”。我希望所有的任务都是“不”,该行将复制到一张表中,以便我可以看到尚未完成的所有项目的所有任务。

当在特定项目选项卡上将“否”更改为“是”时,我希望该行也从编译表中删除。

我也希望单元格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

这是我认为会为一张纸工作...一旦我得到这个工作简单的工作正常我想我可以格式化为多张纸... Sub Test() 对于表中的每个单元格(1).Range ( “E:E”) 如果Cell.Value = “否”,则 matchRow = Cell.Row 行(matchRow& “:” &matchRow)。。选择 Selection.Copy 表( “Sheet 2中”)选择 ActiveSheet.Rows(matchRow).Select ActiveSheet.Paste Sheets(“Sheet1”)。Select End If Next End Sub – user6499985

回答

0

对于第一部分,在那里你想要的只是那些与“否”,则可以使用此数组公式设施清单(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错误。当您将“完成”中的“否”更改为“是”时,右侧的列表将更新。

相关问题