EXCEL 实现所有子表条件筛选汇总到新表

本文介绍如何使用Excel VBA自动化筛选和汇总多个子表中满足特定条件的数据行。通过创建和应用筛选条件,以及利用GET.WORKBOOK函数遍历并操作子表,最终将所有符合条件的数据汇总到新的工作表。附带完整VBA代码及自定义函数,适合初学者实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 经常我们会需要将一个工作簿中所有子表里满足某些条件的行或列进行筛选汇总到一个新的表格里,如果靠人力去逐条筛查,表格数据少还可以接受,但是数据表多了之后显然不太现实。这里就给大家提供一种可以进行快速汇总的方法。如果你是VBA大神,直接看代码部分就行。如果基础比较弱,可以跟着一起尝试做一遍。首先可以试着做一个样表进行试验。表格演示提供大家一个演示:
    这里写图片描述
  2. 根据样表大家可以复制出多几个类似的样表,那么关键问题来了,如何对这些格式相同的子表进行筛选汇总呢。要解决这个问题,首先需要确定你要筛选的条件依据,本例中选择延期天数和状态进行筛选。如下
If sh.Cells(x, 10) >= -1 And sh.Cells(x, 10) <> "" And sh.Cells(x, 11) <> "关闭" Then
                Set CopyRng = sh.Range(sh.Rows(x), sh.Rows(x))

3.当然我们最后想要的是将所有的子表中满足条件的行全部汇总到提醒表汇总起来。那么为了能实现遍历表格的子表,可以使用新增名称管理器的方法设定数据引用位置= GET.WORKBOOK(1),新增名称管理器的方法可以自行上网查询。获取到字表名称后就可以根据表名利用对于循环进行遍历所有表格,然后嵌套第二步的判断条件,实现对所有的表格进行筛选。为了方便,直接将所有表格按序号进行命名。

For Each sh In Sheets(Array("1.","2.","3."))
        firstblankrow = sh.Range(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值