小编Bgs*_*s14的帖子

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

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

我有54​​列,并希望在输入文本时突出显示每列中的重复项.场景是:如果在列B中输入两次"STAPLES",则突出显示单元格(B3,B22).我想要一个可以为每个列执行此操作的宏,因此如果只有一次没有任何事情发生,则将"STAPLES"输入到列E中.

使用条件格式= 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
Run Code Online (Sandbox Code Playgroud)

它工作正常但仅适用于一列("C").

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

我试图将Rng改为

'Set Rng = Range(ActiveCell,ActiveCell.Column.End(xlUp)) 
Run Code Online (Sandbox Code Playgroud)

但这显然是错误的.

有任何想法吗?

excel vba excel-vba

2
推荐指数
1
解决办法
3万
查看次数

标签 统计

excel ×1

excel-vba ×1

vba ×1