實(shí)例需求:工作表中數(shù)據(jù)表實(shí)現(xiàn)跟隨鼠標(biāo)選中高亮效果,需要注意如下幾個細(xì)節(jié)需求
- 數(shù)據(jù)表為連續(xù)區(qū)域,但是不一定從A1單元格開始
- 數(shù)據(jù)表的前兩行(標(biāo)題行)不使用高亮效果
- 數(shù)據(jù)表中已經(jīng)應(yīng)用了條件格式,高亮顯示取消后,不應(yīng)破壞已經(jīng)設(shè)置的條件格式
- 如果選中整列,則不啟用高亮顯示
演示效果如下圖所示。
示例代碼如下。文章來源:http://www.zghlxwxcb.cn/news/detail-793682.html
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rowsRng As Range, useRng As Range, oFC As FormatCondition
Set useRng = Me.UsedRange.Resize(Me.UsedRange.Rows.Count - 2).Offset(2)
For Each oFC In useRng.FormatConditions
If oFC.Formula1 = "=TRUE" Then oFC.Delete
Next
If Target.Rows.Count < Me.Rows.Count Then
Set rowsRng = Application.Intersect(Target.EntireRow, useRng)
If Not rowsRng Is Nothing Then
Set oFC = rowsRng.FormatConditions.Add(Type:=xlExpression, Formula1:="True")
With oFC
.SetFirstPriority
.Interior.Color = RGB(255, 235, 156)
.StopIfTrue = True
End With
End If
End If
End Sub
【代碼解析】
第3行代碼獲取需要設(shè)置高亮顯示的數(shù)據(jù)表區(qū)域(不含標(biāo)題行)。
第4~6行代碼遍歷數(shù)據(jù)表區(qū)域中的條件格式,根據(jù)公式刪除Worksheet_SelectionChange事件創(chuàng)建的條件格式,如果數(shù)據(jù)表中沒有使用其他條件格式,那么無需判斷,全部清除即可。
第7行代碼判斷是否選中了整列。
第8行代碼獲取選中區(qū)域所在行與數(shù)據(jù)表區(qū)域的交叉部分(下文中成為高亮區(qū)域)。
第9行代碼判斷高亮區(qū)域是否為空。
第10行代碼在高亮區(qū)域添加一個條件格式,其公式為=TRUE
。
第12行代碼設(shè)置條件格式最高優(yōu)先級。
第13行代碼設(shè)置高亮填充顏色。
第14行代碼設(shè)置條件為真則停止,避免被其他條件格式覆蓋。文章來源地址http://www.zghlxwxcb.cn/news/detail-793682.html
到了這里,關(guān)于鼠標(biāo)隨動指定區(qū)域高亮顯示(Excel聚光燈)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!