示例文件下载: 链接:https://pan.baidu.com/s/1MNpaolbVyD4EQwl7x1NPaQ 昨天,有小伙伴给小编留言,问聚光灯怎么制作,不知道是不是小编理解错,今天就做了一个 做普通的聚光灯有很多方法,条件格式,工作簿事件等,这里小编使用工作簿事件Workbook_SheetSelectionChange 代码需要写在ThisWorkbook模块中 如果不想整个工作簿都包含该事件,可以复制该代码到工作表模块中 Worksheet_SelectionChange 代码如下: Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) On Error Resume Next Dim Rng As Range Application.ScreenUpdating = False Set Rng = Intersect(ActiveSheet.UsedRange.Offset(1), ActiveSheet.UsedRange) Rng.Interior.ColorIndex = 0 Intersect(Rows(Target.Row), Rng).Interior.ColorIndex = 35 Intersect(Columns(Target.Column), Rng).Interior.ColorIndex = 35 Application.ScreenUpdating = True End Sub 由于需要保留表头,使用了Set Rng = Intersect(ActiveSheet.UsedRange.Offset(1), ActiveSheet.UsedRange)排除表头区域 聚光灯在查看数据时比较有用,可以提高阅读以及数据输入的精准度 但是,这里的代码会取消掉原有的填充色(Rng.Interior.ColorIndex = 0) 同时也会失去撤销功能,这个是比较不友好的 为此,小编在网上找了个使用VB.NET开发的聚光灯代码,修修补补,也可以做到不破坏填充色同时保留了撤销功能 由于这个功能是使用VB.NET开发的,已经脱离了VBA,代码就不贴了 如果有小伙伴知道怎么使用VBA制作这种效果的聚光灯,可以的话发给小编学习下 网上有很多插件都包含了聚光灯这个功能,比如方方格子、刘万祥老师的 tusimple BI 插件等,小编就觉得挺不错的 周末,字码少点。。。 明天见 |
|