【发布时间】:2014-02-19 09:40:32
【问题描述】:
我正在尝试创建一个宏,该宏将突出显示正在输入文本的列中的重复项。
我有 54 列,并希望在输入文本时突出显示每列中的重复项。场景是:如果在 B 列中输入两次“订书钉”,则单元格(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
它工作正常,但仅适用于一列(“C”)。
如何将范围设置为活动列?
我已经尝试将 Rng 更改为
'Set Rng = Range(ActiveCell,ActiveCell.Column.End(xlUp))
但这显然是错误的。
有什么想法吗?
【问题讨论】: