Excel宏以突出显示与当前单元格中的值匹配的所有单元格

时间:2011-06-23 20:51:35

标签: excel vba

我正在寻找一个宏,如果这些单元格的值与当前选定的单元格相同,它将自动突出显示当前工作表中的任何单元格。因此,如果当前选择了单元格B3,并且它包含值3,则将突出显示值为3的所有其他单元格。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

@Reafidy提供了一个很好的宏,这将与条件格式

相同
Sub HighLightCells()
ActiveSheet.UsedRange.Cells.FormatConditions.Delete
ActiveSheet.UsedRange.Cells.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
    Formula1:=ActiveCell
ActiveSheet.UsedRange.Cells.FormatConditions(1).Interior.ColorIndex = 4
End Sub

将其放入工作表选择更改事件

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 call HighLightCells
End Sub

答案 1 :(得分:3)

使用条件格式。

如果你真的需要一个宏,那么:

Sub HighlightCells()
Dim rCell As Range

If ActiveCell.Value = vbNullString Then Exit Sub

Set rCell = ActiveCell

Do
    Set rCell = ActiveSheet.UsedRange.Cells.Find(ActiveCell.Value, rCell)

    If rCell.Address <> ActiveCell.Address Then
        rCell.Interior.Color = 65535
    Else
        Exit Do
    End If
Loop

End Sub