EXCEL中没有这样的事件,用API也只是用SetTimer和回调函数来不停检查单元格有没有变化,除此之外未没见过有什么好的方法,是比较消耗资源的。如果要求不严格可以用变通的方法
Private tmpRng As Range
Private tmpRngCdex As Long
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
If tmpRngCdex <> 0 Then
If tmpRng.Interior.ColorIndex <> tmpRngCdex Then
MsgBox tmpRng.Address & "颜色改变"
Application.EnableEvents = False
tmpRng.Select
Application.EnableEvents = True
End If
End If
Set tmpRng = Selection
tmpRngCdex = Selection.Interior.ColorIndex
On Error GoTo 0
End Sub
EXCEL中没有这样的事件,用API也只是用SetTimer和回调函数来不停检查单元格有没有变化,除此之外未没见过有什么好的方法,是比较消耗资源的。如果要求不严格可以用变通的方法
Private tmpRng As Range
Private tmpRngCdex As Long
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
If tmpRngCdex <> 0 Then
If tmpRng.Interior.ColorIndex <> tmpRngCdex Then
MsgBox tmpRng.Address & "颜色改变"
Application.EnableEvents = False
tmpRng.Select
Application.EnableEvents = True
End If
End If
Set tmpRng = Selection
tmpRngCdex = Selection.Interior.ColorIndex
On Error GoTo 0
End Sub