0
我需要跟蹤某些工作表中的單元格樣式更改。我無法在Excel 2007/2010中使用buid-in跟蹤功能,因爲我需要自定義某些內容。我試圖通過Workbook_SheetChange跟蹤樣式更改,但失敗。當我將單元格從一種樣式更改爲另一種樣式時,它從不會啓動。使用VBA跟蹤Excel 2007/2010中的樣式更改
是否有任何其他事件可用於追蹤風格變化?或者任何解決方法?
我需要跟蹤某些工作表中的單元格樣式更改。我無法在Excel 2007/2010中使用buid-in跟蹤功能,因爲我需要自定義某些內容。我試圖通過Workbook_SheetChange跟蹤樣式更改,但失敗。當我將單元格從一種樣式更改爲另一種樣式時,它從不會啓動。使用VBA跟蹤Excel 2007/2010中的樣式更改
是否有任何其他事件可用於追蹤風格變化?或者任何解決方法?
格式變更沒有觸發事件。
最好的解決方法是監視Worksheet_SelectionChange事件。當用戶單擊單元格時,必須存儲對單元格的引用以及要監視的所有格式信息。下一次事件觸發時,您必須回頭看看他們點擊的最後一個單元格,將它的當前格式與保存的格式信息進行比較,這將允許您檢測更改。
缺點是你只能檢測到他們點擊了他們格式化的單元格後的變化。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static LastRange As Range 'The last range selected'
'For example, monitor the background color or the cell'
Static LastColorIndex As Integer
If LastRange.Cells(1).Interior.ColorIndex <> LastColorIndex Then
'Do what you do'
End If
Set LastRange = Target
LastColorIndex = Target.Interior.ColorIndex
End Sub
這是最簡單的情況。如果他們一次修改整個範圍的單元格,事情會變得更加複雜。