我正在寻找一个宏,如果这些单元格的值与当前选定的单元格相同,它将自动突出显示当前工作表中的任何单元格。因此,如果当前选择了单元格B3,并且它包含值3,则将突出显示值为3的所有其他单元格。
有什么想法吗?
答案 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