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
这是最简单的情况。如果他们一次修改整个范围的单元格,事情会变得更加复杂。