咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公
  • 系统环境:Windows 10
  • Excel:2010版本


今天讲讲VBA中的工作表事件,及事件禁用



Part 1:事件的禁用

  1. 为了防止事件的死循环或者其它目的,需要关闭或者开启事件
  2. 默认情况下,事件响应为True,即事件是开启的
  3. 可以单独建立一个过程,并与快捷键进行关联,那么就可以随时使用快捷键关闭或者开启事件
  • 点击开发工具下的宏,点击右侧的选项,设置快捷键,如图1所示
  • 由于很多快捷键可能在其它软件中已被使用,所以务必测试,选择合理的快捷键

Application.EnableEvents = False Application.EnableEvents = True


图1 快捷键设置



Part 2:代码

Sub 关闭事件() Application.EnableEvents = False End Sub Sub 开启事件() Application.EnableEvents = True End Sub


Part 3:工作表事件

  1. 类似于工作簿事件,双击VBE工程资源管理器的某一工作表
  2. 在代码区左侧选择Worksheet,右侧下拉框选择需要的事件
  3. 以下代码实现了,选择任一单元格,则该单元格数值为10,如图3所示
  4. 如果选择C2:F8区域,这个区域所有单元格全部赋值10


图2 工作表事件


图3 工作表事件


Private Sub Worksheet_SelectionChange(ByVal Target As Range) Target = 10 End Sub




以上,为本次的介绍内容,下回见。

本文首发于微信公众号:Excel高效办公之VBA。排版和细节略作修改,发于头条