我需要搜索重複值並將它們標記在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