在wps中有个聚光灯功能,可以实现高亮选中的单元格所在的行和列。
在excel中虽然没有内置这个功能,但是可以通过vba代码实现类似的效果。
如下动画所示:
在Sheet1模块中插入如下的Worksheet_SelectionChange事件代码,即可实现简单的聚光灯功能:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Count = 1 Then Dim oWK As Worksheet Dim oRng As Range Set oWK = Excel.ActiveSheet Set oRng = Target.CurrentRegion Dim oFC As FormatCondition iRow = Target.Row iCol = Target.Column sF = "=OR(ROW()=" & iRow & ",COLUMN()=" & iCol & ")" iCol = oRng.FormatConditions.Count '先删除原来的条件格式 For Each oFC In oRng.FormatConditions oFC.Delete Next '添加以公式为判断依据的条件格式 Set oFC = oRng.FormatConditions.Add(xlExpression, , sF) With oFC '设置条件格式的填充色 .Interior.Color = vbYellow End With End If End Sub
以上代码的原理是用条件格式来实现聚光灯功能。
发表评论