根据单元格更改突出显示单个单元格

我想突出显示一个单独的单元格基于它被改变。 下面的代码给我一个debugging错误。 我使用的范围是A7:AH500如果这些单个单元格中的任何一个发生变化,那么突出显示那个变化的单元格。 也可以将其添加到模块,或者这是否必须直接在工作表上?

 If Not Intersect(Target, Range("A7:AH500")) Is Nothing Or _ Not Intersect(Target, Range("A7:AH500")) Is Nothing Then Target.Interior.ColorIndex = 3 End If 

从其他线程完成这个closures;

好的,试试这个 – 删除你刚添加到ThisWorkbook对象的东西。 然后用下拉菜单从左边select“Workbook”,从右边select“SheetChange”。 它应该插入一些代码。 在Sub内(在End Sub代码之前) – 添加代码

 Target.Interior.ColorIndex = 3 

检测单元格更改的代码必须位于工作表中。 执行所需更改的代码可以位于模块中。

所以你可以在每张表中(如果不止一个):

 Private Sub Worksheet_Change(ByVal Target as Range) If Not Intersect(Target, Range("A7:AH500")) Is Nothing Or _ Not Intersect(Target, Range("A7:AH500")) Is Nothing Then Call UpdateFormat(Target) End If End Sub 

并在一个模块中

 Sub UpdateFormat(p_rngCell As Range) p_rngCell.Interior.ColorIndex = 3 End Sub 

这将允许您对多个工作表中的实际逻辑进行一次更改。