突出显示基于单元格更改的单个单元格
问题描述:
我想突出显示基于单元格更改的个别单元格。下面的代码给我一个调试错误。我使用的范围是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
答
从其他线程完成此关闭;
好吧试试这个 - 删除刚刚添加到ThisWorkbook对象中的内容。然后在下拉菜单中选择左侧的“Workbook”,右侧的“SheetChange”。它应该插入一些代码。内子(在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
这将让你一次跨越作出实际逻辑的任何变化多张。
你正在使用'Target',所以它必须在EventProcedures使用,换句话说,是的,它必须在表直接去 – Rosetta