【发布时间】:2015-07-04 09:48:55
【问题描述】:
这几天我一直在尝试解决这个问题,但未能提出或找到类似的解决方案。我试图在单个列中突出显示重复项,而它们在另一个列中是不同的值。
例如,有时在 G 列中存在重复名称,但仅当值列 D 唯一时才需要标记(突出显示)它们。因此,使用下面的示例,最终结果应该只会突出显示 Elizabeth Moore。
Column D Column G
116023339 Alan Fluder
116023339 Alan Fluder
116023347 Elizabeth Moore
116025757 Elizabeth Moore
116025048 A. Lavoie
如果有帮助,下面是我用作起点的代码。
Sub test()
Dim cel As Variant
Dim myCell As Variant
Dim myrng As Range
Dim myRange As Range
Dim CellValue As Long
Set myrng = Range("G2:G" & Range("G" & Rows.Count).End(xlUp).Row)
Set myRange = Range("D2:D" & Range("D" & Rows.Count).End(xlUp).Row)
For Each cel In myrng
If Application.WorksheetFunction.CountIf(myrng, cel) > 1 Then
For Each myCell In myRange
If Application.WorksheetFunction.CountIf(myRange, myCell) = 1 Then
myCell.Offset(0, 3).Interior.ColorIndex = 6
End If
Next myCell
End If
Next cel
End Sub
我应该补充一点,我现在的解决方案是分离循环,其中一个突出显示所有列 G 重复,然后第二个循环取消突出显示 D 列被重复。
【问题讨论】:
-
你可以用一个公式来做到这一点:
=COUNTIFS(D:D,D2,G:G,G2)<>COUNTIF(G:G,G2)对符合你描述的情况来说是 TRUE。