使以下VBA代码更有效

时间:2017-11-13 20:20:24

标签: excel vba excel-vba

我正在尝试删除包含任何指定值的行。下面的代码工作在一个约200k行的工作表中,但当我尝试在350k行的工作表中运行时,excel崩溃。如何提高效率?

getModel()

1 个答案:

答案 0 :(得分:2)

您当前的代码几乎可以执行最低效的操作:一次选择并过滤350k行,以查看它们是否与数组中的项匹配。

相反,添加一个自动过滤器(或将范围转换为Excel表/ ListObject,因为它已内置过滤器)然后启动宏录制器,手动过滤三个术语,删除结果,清除过滤器,停止宏录制器,然后去看看它生成的代码。

在计算出如何处理某些事情时,宏记录器应该是您的第一个停靠点。它并不总能生成优雅/高效的代码,而且您经常需要清理它,但在这种情况下,您将从冰川变为翘曲速度。