VBA代码来突出显示修改后的单元格,并在退出前清除高亮显示

我需要能够突出显示被修改的单元格,并在表单closures之前删除突出显示。 通常情况下,将要更改的单元格总是在一列中。 我一直在阅读开发人员参考和整天玩vba。 尽pipe我尽了最大的努力,但似乎无法弄清楚这一点。

我有一串代码突出显示任何目标单元格:

Target.Interior.Color = RGB(181, 244, 0) 

我正在考虑创build一个logging目标单元格的数组,并在BeforeClose事件中清除基于数组值的格式。 这甚至可能吗?

提前致谢!

在工作表代码区域中包括以下事件macros:

 Private Sub Worksheet_Change(ByVal Target As Range) Target.Interior.Color = RGB(181, 244, 0) End Sub Private Sub Worksheet_Deactivate() Cells.Interior.ColorIndex = xlNone End Sub 
 Public workrange As Range Private Sub Worksheet_Change(ByVal Target As Range) ThisWorkbook.Names.Add Name:="MyRangeName", RefersTo:="Sheet1!$A$1" Set workrange = Range("MyRangeName") Target.Interior.Color = RGB(181, 244, 0) Set workrange = Union(workrange, Target.Address) End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim cell As Variant For Each cell In workrange If cell.Interior.Color <> RGB(0, 0, 0) Then cell.Interior.Color = RGB(0, 0, 0) End If Next End Sub 

应该做你想做的,我相信。

我testing了下面的代码,它在我身边工作:

 Private Sub Worksheet_Change(ByVal Target As Range) 'Add this to each required worksheet Target.Interior.Color = RGB(181, 244, 0) If HighlightedCells = "" Then HighlightedCells = Target.Address Else HighlightedCells = HighlightedCells & "," & Target.Address End If End Sub 

 Private Sub Workbook_BeforeClose(Cancel As Boolean) 'For the Workbook. Alter and repeat the line below for each required worksheet ThisWorkbook.Worksheets("Sheet1").Range(HighlightedCells).Style = "Normal" End Sub 

 Global HighlightedCells As String 'Add this to a new module