Excel工作表Change事件是最常用的事件代码之一,通俗的讲工作表内容发生变化时,此事件将被激活。
Change事件的过程框架如下,其中参数Target是Range类型变量,代表工作表中发生变化的单元格范围。

Private Sub Worksheet_Change(ByVal Target As Range)' Your code
End Sub

下面来看一个最简单示例,将代码写入工作表模块,如下图所示。

Private Sub Worksheet_Change(ByVal Target As Range)MsgBox "发生变化的单元格是:" & Target.Address
End Sub


在Sheet2工作表中选择B3至E8单元格区域,输入“2”,然后按<Ctrl+Enter>快捷键填充数据,将显示如下图所示的提示框,Target.Address将返回发生变化的单元格区域的绝对地址。


有时需要指定Change事件的有效单元格区域,那么就需要做代码过程中进行相应的判断,使用的场景基本上可以分为如下两种。

  • 场景1:监测单个单元格
    顾名思义,只有某个指定单元格发生变化时,才进行后续的处理。首先判断发生变化的单元格是为单个单元格,接着使用Target.Address = Range(TARGET_RNG).Address作为判断条件,判断是否为指定的单元格,如果需要监测其他单元格,只需要修改常量 TARGET_RNG。
Private Sub Worksheet_Change(ByVal Target As Range)Const TARGET_RNG = "A1"Application.EnableEvents = FalseWith TargetIf .Count = 1 ThenIf .Address = Range(TARGET_RNG).Address Then' Your CodeEnd IfEnd IfEnd WithApplication.EnableEvents = True
End Sub
  • 场景2:监测指定区域
    如果需要监测某个单元格区域,例如:A5:B10的单元格区域内的某个单元格发生变化时,运行相关代码,可以使用下面的代码。这个应用场景可以兼容“场景1”。
Private Sub Worksheet_Change(ByVal Target As Range)Const TARGET_RNG = "A5:B10"Application.EnableEvents = FalseWith TargetIf .Count = 1 ThenSet c = Application.Intersect(Range(TARGET_RNG), Target)If Not c Is Nothing Then' Your CodeEnd IfEnd IfEnd WithApplication.EnableEvents = True
End Sub

Excel工作表事件(2)- Change事件相关推荐

  1. vba 修改access表的链接地址_神奇的VBA编程:禁止修改Excel工作表名称

    职场中经常需要将做好的Excel表格/模板发给他人或者存放在公共路径上共享使用,此时需要禁止别人更改已经设定好的工作表名称.或者某些工作簿中有公式使用了对某些工作表的外部引用,如果工作表名称发生变化, ...

  2. 如何防止Excel工作表名称被修改

    在Excel工作表标签上双击可以修改名称,如果其他工作簿中公式使用了对于此工作表的外部引用,那么工作表名称变化后,这些外部引用经失效,在VBA代码中通过工作表名称引用对象也将出错.利用VBA对象事件代 ...

  3. 如何禁止修改Excel工作表名称

    经常会有网友提问:如何实现禁止修改Excel工作表名称,这个暂时没有完美解决方案,但是如下变通解决方法基本上可以满足需求. 示例文件中有两个工作表,名称为Summary和Sheet2,假设禁止修改第一 ...

  4. excel按条件选择工作表_在Excel工作表中选择“实际使用范围”

    excel按条件选择工作表 It's easy to select the current range in Excel – just press Ctrl + A. That shortcut se ...

  5. excel链接隐藏工作表_自动隐藏Excel工作表

    excel链接隐藏工作表 When you build a workbook for other people to use, there might be worksheets that can s ...

  6. 符号在excel中的引用_如何在Excel工作表中添加表情符号

    &符号在excel中的引用 In the old days, we typed emoticons in our messages, to show a grin, or wink, etc. ...

  7. 在Excel工作表数据输入表单中编辑记录

    How can you make it easy for people to enter and edit data in Excel, but keep them away from the dat ...

  8. VBS遍历Excel工作表的方法

    这篇文章主要介绍了VBS遍历Excel工作表的实现代码,需要的朋友可以参考下 核心代码 '****************************************** '拖拽文件,获取文件路径 ...

  9. 在excel工作表中c1单元格_已知Excel工作表中A1单元格和B1单元格的值分别为“电子科技大学”、“信息中心”,要求在C1单元格显示“...

    已知Excel工作表中A1单元格和B1单元格的值分别为"电子科技大学"."信息中心",要求在C1单元格显示" 更多相关问题 所谓犯罪现象的特性,是指为 ...

  10. 计算机设计策略,专家经验谈:Excel工作表的设计策略

    创建一个Excel工作表 (工作表:在 Excel 中用于存储和处理数据的主要文档.也称为电子表格.工作表由排列成行或列的单元格组成.工作表总是存储在工作簿中.)没有任何神秘之处可言,毕竟,这只是一些 ...

最新文章

  1. 用于精确导航和场景重建的 3D 配准方法(ICRA 2021)
  2. MFC按钮CXPButton类,代码阅读起来还是挺不错的
  3. Qt 模型视图编程的简单实例
  4. Http和Socket连接区别
  5. 前端性能优化 Web前端应该从哪些方面来优化网站?
  6. 6位密码锁的c语言编程,51单片机4*3矩阵键盘6位密码锁c语言程序
  7. 用命令行发邮件——让你更加了解smtp
  8. CI/CD:DevOps背后的推动力
  9. Linux学习笔记5 - Shell编程(类似于Windows下的批处理)
  10. 内存取证-volatility工具的使用
  11. 网站跳出率过高的原因有哪些?怎么解决?
  12. c语言直线和椭圆的交点,直线与椭圆交点距离公式
  13. Linux下基于Openstack安装部署私有云
  14. 大气数据计算机英语,[听单词] 计算机专业英语词汇音频87,计算机英语单词MP3
  15. 用了几年的iPhone 11竟然可以免费换电池
  16. 【GANs】Conditional Generative Adversarial Nets
  17. [TJOI2013]松鼠聚会
  18. 简报 | 井通公链实现商业应用真实用户数突破百万
  19. 决策树算法原理以及决策树规则生成方法
  20. 51单片机之温度传感器与液晶显示屏

热门文章

  1. mysql 数据快速删除
  2. ssh连接openwrt_如何将SSH无密码连接到OpenWrt路由器?
  3. cobalt strick 4.0 系列教程(4)---监听器和基础设施管理
  4. puts与fputs的区别
  5. [转]在数学的海洋中飘荡
  6. 数据库一对一、一对多、多对多,表设计
  7. left join一对多只保留一条结果的解决方法
  8. 关于Eclipse4.7安装TomcatPlugin后无法显示三只猫问题
  9. Microsoft Word 进行简繁转换时,报错“word无法进行处理,缺少多个进行间/繁体中文转换所必需的文件”的解决办法
  10. 一个漂亮的暗系色调网站主页,外表美观。