当前位置: 首页 > news >正文

VBA学习(18):VBA制作任意工作表均可使用的聚光灯

 在需要制作聚光的工作簿,按<ALT+F11>组合键,打开VBE编辑器。在右侧[工程资源管理器窗格]选中ThisWorkbook模块,将以下代码复制粘贴到该模块的代码窗口。

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)Application.ScreenUpdating = FalseCells.Interior.ColorIndex = -4142 '取消单元格原有填充色,但不包含条件格式产生的颜色。Rows(Target.Row).Interior.ColorIndex = 33 '活动单元格整行填充颜色Columns(Target.Column).Interior.ColorIndex = 33 '活动单元格整列填充颜色Application.ScreenUpdating = True
End Sub

图片

最后关掉VBE窗口——聚光灯就制作完成了

此时选中该工作簿任意工作表的单元格,就会出现如上图动画所示的聚光灯效果。

上面的VBA代码使用了工作簿事件:

Workbook_SheetSelectionChange

如果你只是需要对某个工作表制作聚光灯,可以换用工作表事件,将以上代码修改为如下,并复制粘贴到相关工作表模块代码窗口即可。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)Application.ScreenUpdating = FalseCells.Interior.ColorIndex = -4142 '取消单元格原有填充色,但不包含条件格式产生的颜色。Rows(Target.Row).Interior.ColorIndex = 33 '活动单元格整行填充颜色Columns(Target.Column).Interior.ColorIndex = 33 '活动单元格整列填充颜色Application.ScreenUpdating = True
End Sub

……聚光灯很有用,比如查看行列明细繁多的数据表时,可以提高数据阅读清晰度和数据输入的准确度;但需要说明的是,一旦使用VBA代码,Excel将会丧失“后悔”功能,也就是说Ctrl+Z的撤销功能会失去效果了;另外,它还会影响Excel的反应效率。

除此之外,该代码还会取消单元格原有设置的填充色,不过不会取消【条件格式】以及【表】功能设置的单元格填充色……

当然,代码还有很多优化空间,比如,调整聚光灯的范围,仅限数据区域,参考代码如下▼

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)On Error Resume NextApplication.ScreenUpdating = FalseDim rng As Range, cll As RangeSet rng = ActiveSheet.UsedRangerng.Interior.ColorIndex = 0Set cll = Intersect(rng, Rows(Target.Row))Set cll = Union(cll, Intersect(rng, Columns(Target.Column)))cll.Interior.ColorIndex = 33Application.ScreenUpdating = True
End Sub

http://www.lryc.cn/news/380136.html

相关文章:

  • 【STM32-启动文件 startup_stm32f103xe.s】
  • 51学习记录(一)——51介绍及震动感应灯
  • 2024GLEE生活暨教育(上海)博览会,8月20-22日,国家会展中心(上海)
  • debug调试高级功能 断点、布局 及Android Studio常用快捷按键使用详情
  • 51单片机STC89C52RC——6.1 中断系统
  • Redis源码学习:高性能Hash表的设计与实现
  • 如何防范常见的数据库安全问题
  • [Day 19] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • 【Hadoop学习笔记】认识Hadoop
  • CISP-PTE综合靶机-WinServer2003
  • sklearn之各类朴素贝叶斯原理
  • 年薪50w+的项目经理,手把手教你如何复盘
  • Web3新视野:Lumoz节点的潜力与收益解读
  • 【shell脚本速成】mysql备份脚本
  • 高考志愿填报,理科生如何分析选专业?
  • qt 简单实验 json格式的文件写入配置文件
  • 将WIN10的wifi上网分享给以太网接口
  • 在 iPhone 上恢复已删除联系人的 5 种简便方法
  • 小白指南:前端使用javascript如何判断集合是不是空集合?
  • 人力资源招聘社会校企类型招聘系统校园招聘小程序
  • docker重要操作与直连方法
  • Windows环境利用 OpenCV 中 CascadeClassifier 分类器识别人眼 c++
  • Golang | Leetcode Golang题解之第167题两数之和II-输入有序数组
  • 【软件工程】【23.04】p2
  • Java多线程编程与并发控制策略
  • Java爬虫(一)
  • element-plus form表单组件之el-date-picker日期选择器组件
  • 如何与情绪好好相处,真正成为情绪的主人
  • RK3588/算能/Nvidia智能盒子:[AI智慧油站」,以安全为基,赋能精准经营
  • 【眼在手外D435相机支架】