使用Excel VBA从多个列中删除重复项

时间:2017-02-21 19:24:57

标签: excel vba duplicates

我正在开发一个项目,我正在使用VBA从95列中删除重复项。目前我有95行代码可以工作,但宏运行速度明显慢,因为从40行扩展到95.也许这只是它的性质,但我希望了解更多有关VBA的信息,看看是否有更简单的方法解决这个问题。对于95个单独的列,我当前的宏看起来像这样:

Range("g230:g324").RemoveDuplicates Columns:=1, Header:=x1No
Range("h230:h324").RemoveDuplicates Columns:=1, Header:=x1No
Range("i230:i324").RemoveDuplicates Columns:=1, Header:=x1No
Range("j230:j324").RemoveDuplicates Columns:=1, Header:=x1No

它有效,但速度很慢。有没有办法选择整个范围的单元格并让宏删除每行中的重复项? 我在较小的样本大小上尝试了不同的代码来测试它,我收到了1004运行时错误。

Dim Dupes As Range: Set Dupes = Sheet1.Range("M3:X30")
Dupes.RemoveDuplicates Columns:=Array(95, 12), Header:=xlYes

我不相信它的定义是错误的,就像我输入Dupes = 2它填充数字2的范围一样。

我希望我的宏做的是从这里开始(" a"在顶行是为了解决因空列而产生的任何错误)
enter image description here

最终结果看起来像这样 enter image description here

0 个答案:

没有答案