VBA - 删除不包含特定值的行

时间:2013-07-30 19:00:27

标签: excel vba excel-vba

我在工作簿中有大约30个不同的工作表,每个工作表都有超过30k的条目。在每行的第二列中,有一个文件路径。

此文件名可以是任何内容。另一方面,我有一个大约450个不同文件名的列表,我正在检查。

如果文件路径不包含任何450个文件名,那么我希望删除该行。

我正在尽可能快速有效地做到这一点。我对VBA和Excel不是很有经验。

1 个答案:

答案 0 :(得分:3)

在不编写任何VBA的情况下,一种简单的方法是使用VLOOKUP:

=VLOOKUP(A1, <absolute_reference_to_file_list>, 1, TRUE)=A1

然后使用过滤工具删除新列中FALSE的所有行。少数列可能会显示“#N / A”;这应该被视为FALSE。

请注意,此方法需要提前对文件名列表进行排序,因为Excel将在文件名列表中执行二进制搜索。

这不是最快的方法,但速度相当快,可能足以满足您的需求。