我有一列數據,其中有字符串值。我想通過該列中的每個單元格進行比較,並檢查值是否重複。比較需要全文以及通配符。使用vba刪除excel中的重複行
下面是我的數據的截圖
,如果你看到的截圖,該公司CES有限公司第3排的存在,以及對列17與另一家公司ECLERX SERVICES LTD沿着| CES有限公司。所以我想突出顯示這樣的重複值。
下面是我寫的
Dim rangeToUse As Range, singleArea As Range, cell1 As Range, cell2 As Range, i As Integer, j As Integer
Set rangeToUse = Selection
Cells.Interior.ColorIndex = 0
Cells.Borders.LineStyle = xlNone
For Each singleArea In rangeToUse.Areas
singleArea.BorderAround ColorIndex:=1, Weight:=xlThin
Next singleArea
For i = 1 To rangeToUse.Areas.Count
For Each cell1 In rangeToUse.Areas(i)
MsgBox cell1.Value
For j = 1 To rangeToUse.Areas.Count
For Each cell2 In rangeToUse.Areas(j)
If cell1.Value = cell2.Value Then
cell2.Interior.ColorIndex = 38
End If
MsgBox cell2.Value
Next cell2
Next j
Next cell1
Next i
但是代碼突出顯示所有不同的細胞中的代碼。任何人都可以讓我知道我在做什麼錯?
當談到創建在Excel中唯一值的列表,沒有什麼比一個很好的舊['Dictionary'對象(http://stackoverflow.com/questions/915317/does-vba - 具備詞典結構)。 – Tim
它們將是相同的顏色,因爲當你遍歷列表時,在某個時候,'cell1'和'cell2'將引用同一個單元格,這當然會通過你的匹配測試。您需要排除cell1與自身進行比較。 –