vba - 突出显示单个范围内的重复项

标签 vba excel duplicates conditional-formatting

假设 Range 是连续的并且是单列。

我想突出显示上述范围的重复条目。我的 VBA 如下,但未按预期运行。主题是使用 OFFSET 将第一个单元格值与其底部值进行比较

Sub CompareSingleRange()
Dim rangeToUse1 As Range, rangeToUse2 As Range, cell1 As Range, cell2 As Range
' Assume Selection is contiguous
Set rangeToUse1 = Selection
Set rangeToUse2 = Selection
    For Each cell1 In rangeToUse1
        For Each cell2 In rangeToUse2
           If cell1.Value = cell2.Offset(1,0).Value Then
            cell1.Interior.ColorIndex = 38
            End If
        Next cell2
    Next cell1
End Sub

最佳答案

尝试条件格式规则。如果看起来更容易,请对其进行编码。

With Worksheets("Sheet1")
    With .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp))
        .FormatConditions.Delete
        .FormatConditions.AddUniqueValues
        With .FormatConditions(1)
            .Interior.Color = vbGreen
        End With
    End With
End With

cf_duplicates

关于vba - 突出显示单个范围内的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36248131/

相关文章:

sql - 附加没有 From 子句的查询

class - 将对象传递给类方法: Object doesn't support this property or method

excel - Outlook 2010 规则是否对从 Excel VBA 发送的邮件运行?

excel - 在VBA中使用VLookup引用另一个Excel文件

vba - 通过宏保存到 Excel 中的多个位置

excel - 从命名范围/公式返回值(错误 1004、2015 或 13)

sql-server - 如何防止使用此 UNION 选择(或其他方法)重复

sql - 更新以从逗号分隔列表中删除重复项

r - 如何在 R 中操作重复行?

excel - 使用可变标准 VBA 进行自动过滤