我需要搜索重复值并将它们标记在Excel电子表格中。我有我的数据在列D
中进行验证,并且在可能的情况下重复的数据位于列K
中。我需要检查列中所有行的D
列中的每一行。 K
。加快Excel VBA搜索脚本
这是我为这个当前脚本:
Sub MySub()
Dim ThisCell1 As Range
Dim ThisCell2 As Range
For Each ThisCell1 In Range("D1:D40000")
'This is the range of cells to check
For Each ThisCell2 In Range("K1:K40000")
'This is the range of cells to compare
If ThisCell1.Value = ThisCell2.Value Then
If ThisCell1.Value <> "" Then
ThisCell1.Interior.ColorIndex = 3
End If
Exit For
End If
Next ThisCell2
Next ThisCell1
End Sub
这里的问题是,它是非常慢。我的意思是需要小时来检查不可接受的数据。即使范围设置为1:5000
,也需要10-15分钟才能完成。有什么办法可以让它更快吗?
你如何定义你的搜索?您是否检查列D中的值是否出现在列K中?还是它不得不多次出现在K列中? – user3561813 2015-02-05 16:29:44
我正在检查'K'列中的值是否出现在列'D'中。在'D'列中可能有多个出现,所以这就是为什么搜索必须检查'D'中每行的'K'中的所有行。 – PeterInvincible 2015-02-05 16:32:52