【发布时间】:2019-06-10 05:36:09
【问题描述】:
我正在使用此代码突出显示选定的单元格,它工作正常。但是,我想知道是否有更好的方法可以在不使用On error resume next 的情况下做到这一点。
另外,如果我使用这个语句,是否意味着同一事件或事件调用的过程中的其他错误不会被捕获?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Union(Me.Range("range_name"), Me.Range("range_name2"), _
Me.Range("range_name3"))) Is Nothing Then
Static xLastRng As Range
On Error Resume Next
Target.Interior.ColorIndex = 6
xLastRng.Interior.ColorIndex = xlColorIndexNone
Set xLastRng = Target
End If
End Sub
【问题讨论】:
-
如果所选单元格与 3 个范围相交且不为空白,此子项的目标是突出显示所选单元格吗?
-
我认为它只会在第一次选择时出错,因为
xLastRng什么都不是,所以测试一下:If Not xLastRng is Nothing then xLastRng.Interior.ColorIndex = xlColorIndexNone -
我的目标是突出显示这三个范围中任何一个范围内的选定单元格,并取消突出显示先前选择的单元格