Excel VBA在活动列中突出显示重复项

Bgs14

我正在尝试创建一个宏,该宏将在输入文本的列中突出显示重复项。

我有54​​列,并希望在输入文本时突出显示每列中的重复项。方案是:如果在B列中两次输入“ STAPLES”,则单元格(B3,B22)将突出显示。我想要一个可以对每一列执行此操作的宏,因此,如果在列E中仅输入“ STAPLES”,则什么也不会发生。

使用条件格式= COUNTIF不一定有帮助(由于将列复制到新工作表的工作流程)。

我已经有了这个宏:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)


Dim Rng As Range
Dim cel As Range

'Test for duplicates in a single column
'Duplicates will be highlighted in red


Set Rng = Range(Range("C1"), Range("C" & Rows.Count).End(xlUp))


For Each cel In Rng
    If WorksheetFunction.CountIf(Rng, cel.Value) > 1 Then

cel.Interior.ColorIndex = 3
    End If
Next cel

End Sub

它可以正常运行,但仅适用于一列(“ C”)。

如何将范围设置为活动列?

我试图将Rng更改为

'Set Rng = Range(ActiveCell,ActiveCell.Column.End(xlUp)) 

但这显然是错误的。

有任何想法吗?

德米特里·帕夫利夫(Dmitry Pavliv)

试试这个:

Set Rng = Range(Cells(1, Target.Column), Cells(Rows.Count, Target.Column).End(xlUp))

最好使用Worksheet_Changeevent代替Worksheet_SelectionChange

顺便说一句,复制品有特殊的CF:

在此处输入图片说明


UPD:如果您想使用VBA,请尝试以下代码:

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Rng As Range
    Dim cel As Range
    Dim col As Range
    Dim c As Range
    Dim firstAddress As String



    'Duplicates will be highlighted in red
    Target.Interior.ColorIndex = xlNone
    For Each col In Target.Columns
        Set Rng = Range(Cells(1, col.Column), Cells(Rows.Count, col.Column).End(xlUp))
        Debug.Print Rng.Address

        For Each cel In col
            If WorksheetFunction.CountIf(Rng, cel.Value) > 1 Then
                Set c = Rng.Find(What:=cel.Value, LookIn:=xlValues)
                If Not c Is Nothing Then
                    firstAddress = c.Address
                    Do
                        c.Interior.ColorIndex = 3
                        Set c = Rng.FindNext(c)
                    Loop While Not c Is Nothing And c.Address <> firstAddress
                End If
            End If
        Next
    Next col

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过VBA宏突出显示excel中的重复行

来自分类Dev

删除/突出显示Excel中跨多列的重复行

来自分类Dev

Excel-突出显示并删除行中重复的列值

来自分类Dev

在Excel中查找并突出显示重复的条目

来自分类Dev

Excel格式规则根据每个日期列条目突出显示重复项

来自分类Dev

Excel格式规则根据每个日期列条目突出显示重复项

来自分类Dev

Excel中的错误?用于标记重复项的条件格式也突出显示了唯一的价值

来自分类Dev

Excel将文本视为COUNTIF中的数字以突出显示重复项

来自分类Dev

突出显示具有重复金额的重复客户。在Excel中

来自分类Dev

突出显示具有重复金额的重复客户。在Excel中

来自分类Dev

比较一行中的两组单元格并在Excel中突出显示相同行的重复项

来自分类Dev

Excel:如何突出显示在另一列中重复的最高值单元格

来自分类Dev

如何在 Excel 的多列中查找/突出显示重复值

来自分类Dev

突出显示重复值并从 Excel 中的列表中绘制

来自分类Dev

如何搜索重复项,然后像Excel(在这种情况下为工作表)一样在数据框中突出显示重复项?

来自分类Dev

在Excel 2010中,使用宏和VBA比较列中的数据并突出显示值(如果不同)

来自分类Dev

Excel VBA根据今天的日期突出显示整个列

来自分类Dev

VBA Excel-如何在两列中删除重复项

来自分类Dev

基于两列的VBA删除重复项-Excel 2003

来自分类Dev

Excel VBA合并重复项并添加列值

来自分类Dev

在excel列中查找重复项并显示相应的单元格值

来自分类Dev

Excel 2010条件格式:有选择地突出显示重复项

来自分类Dev

Excel 条件格式:当多于一行匹配时突出显示重复项

来自分类Dev

使用VBA在Excel中删除XML重复项

来自分类Dev

Excel Vba-需要从单行中删除重复项

来自分类Dev

Excel VBA-比较行与行之间的数据并突出显示匹配项

来自分类Dev

在Excel中查找重复项

来自分类Dev

如何在Excel列中突出显示匹配的文本?

来自分类Dev

从Excel中的A列中删除所有重复项

Related 相关文章

  1. 1

    通过VBA宏突出显示excel中的重复行

  2. 2

    删除/突出显示Excel中跨多列的重复行

  3. 3

    Excel-突出显示并删除行中重复的列值

  4. 4

    在Excel中查找并突出显示重复的条目

  5. 5

    Excel格式规则根据每个日期列条目突出显示重复项

  6. 6

    Excel格式规则根据每个日期列条目突出显示重复项

  7. 7

    Excel中的错误?用于标记重复项的条件格式也突出显示了唯一的价值

  8. 8

    Excel将文本视为COUNTIF中的数字以突出显示重复项

  9. 9

    突出显示具有重复金额的重复客户。在Excel中

  10. 10

    突出显示具有重复金额的重复客户。在Excel中

  11. 11

    比较一行中的两组单元格并在Excel中突出显示相同行的重复项

  12. 12

    Excel:如何突出显示在另一列中重复的最高值单元格

  13. 13

    如何在 Excel 的多列中查找/突出显示重复值

  14. 14

    突出显示重复值并从 Excel 中的列表中绘制

  15. 15

    如何搜索重复项,然后像Excel(在这种情况下为工作表)一样在数据框中突出显示重复项?

  16. 16

    在Excel 2010中,使用宏和VBA比较列中的数据并突出显示值(如果不同)

  17. 17

    Excel VBA根据今天的日期突出显示整个列

  18. 18

    VBA Excel-如何在两列中删除重复项

  19. 19

    基于两列的VBA删除重复项-Excel 2003

  20. 20

    Excel VBA合并重复项并添加列值

  21. 21

    在excel列中查找重复项并显示相应的单元格值

  22. 22

    Excel 2010条件格式:有选择地突出显示重复项

  23. 23

    Excel 条件格式:当多于一行匹配时突出显示重复项

  24. 24

    使用VBA在Excel中删除XML重复项

  25. 25

    Excel Vba-需要从单行中删除重复项

  26. 26

    Excel VBA-比较行与行之间的数据并突出显示匹配项

  27. 27

    在Excel中查找重复项

  28. 28

    如何在Excel列中突出显示匹配的文本?

  29. 29

    从Excel中的A列中删除所有重复项

热门标签

归档