【问题标题】:I am looking to delete rows in a table based on multiple filter criteria我希望根据多个过滤条件删除表中的行
【发布时间】:2019-07-29 21:17:57
【问题描述】:

我使用 Excel VBA 已经有一段时间了,但现在我想用过滤器或类似的东西做点什么。

我有一个大数据表(超过 11000 行),我需要在过滤器中选择最多 5 个不同的标准,并且基本上删除不适用于此过滤器的每一行。 (所以有效地删除了不可见的行)

过滤器需要从另一个listobject中的信息数组中设置

有问题的数据是设置为列表对象的部门中的工作人员列表 - 我只需要从另一个工作表上的标准中选择哪个部门即可。部门是管理,仓库,商店,行政,运输。我需要删除所有不是仓库、商店或管理员的记录

*因为我一直在网上搜索,我还没有真正尝试过任何东西 - 我对遍历过滤器选项有一些想法

*抱歉 - 我尝试了不同的方法,例如 for each row in table 循环,但这个时间超过 15 分钟! (向发表评论的人道歉,我应该对此提出建议)

抱歉,我没有代码 - 禁止使用“表中的每一行”循环,我需要避免使用该循环,因为有这么多记录,这是一个非常缓慢的过程

没有实际结果 - 多年来一直在使用 VBA,但这是我第一次被要求使用这种类型的东西,我不知所措。

请善待,因为我是论坛的新手,显然只是在寻求帮助

【问题讨论】:

  • 虽然我理解你的痛苦,但不建议在这里不尝试就提问。请查看以下链接:extendoffice.com/documents/excel/…extendoffice.com/documents/excel/…
  • 抱歉 - 我已经编辑了我的原始帖子,因为我尝试了一些没有成功的事情(对于表中的每一行,如果它不是标准之一,则删除 - 运行时间超过 15 分钟。试过了自动过滤方法,但这不允许超过 2 个“”条件!

标签: excel vba


【解决方案1】:

在搜索了大量项目之后,我确信有一种更简单的方法,但我已经通过将数据转换回一个范围来解决这个问题,从最后一行到第一行执行循环,如果未找到该值则删除该行!

我对此很满意,因为它现在只需不到 15 秒即可完成 - 不知道为什么列表对象会减慢它的速度,但我对它很满意

【讨论】:

    猜你喜欢
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 2022-12-01
    • 1970-01-01
    • 2022-11-18
    相关资源
    最近更新 更多