代码如下(添加到对应sheet中!):
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Long
i = 1
Do Until Range("A" & i).Value = ""
'情况一 START 当前单元格的上面一个单元格中的数据在列A中是否有相同的——(单元格失去焦点时自动检测,因为默认敲回车时焦点会移到下面一个单元格)
'If Split(ActiveCell.Address, "$")(2) = 1 Then Exit Sub
'If Range(Split(ActiveCell.Address, "$")(1) & (Split(ActiveCell.Address, "$")(2)) - 1).Value = Range("A" & i).Value And ActiveCell.Column <> 1 Then
' Range("A" & i).Interior.Color = RGB(200, 160, 35)
' Range(Split(ActiveCell.Address, "$")(1) & (Split(ActiveCell.Address, "$")(2)) - 1).Interior.Color = vbRed
'End If
'情况一 END
'情况二 START 当前选中的单元格中的数据在列A中是否有相同的
If ActiveCell.Value = Range("A" & i).Value And ActiveCell.Column <> 1 Then
Range("A" & i).Interior.Color = RGB(200, 160, 35)
ActiveCell.Interior.Color = vbRed
End If
'情况二 END
i = i + 1
Loop
End Sub