- 系统环境:Windows 10
- Excel:2010版本
今天讲讲VBA中的工作表事件,及事件禁用
Part 1:事件的禁用
- 为了防止事件的死循环或者其它目的,需要关闭或者开启事件
- 默认情况下,事件响应为True,即事件是开启的
- 可以单独建立一个过程,并与快捷键进行关联,那么就可以随时使用快捷键关闭或者开启事件
- 点击开发工具下的宏,点击右侧的选项,设置快捷键,如图1所示
- 由于很多快捷键可能在其它软件中已被使用,所以务必测试,选择合理的快捷键
Application.EnableEvents = False
Application.EnableEvents = True
图1 快捷键设置
Part 2:代码
Sub 关闭事件()
Application.EnableEvents = False
End Sub
Sub 开启事件()
Application.EnableEvents = True
End Sub
Part 3:工作表事件
- 类似于工作簿事件,双击VBE工程资源管理器的某一工作表
- 在代码区左侧选择Worksheet,右侧下拉框选择需要的事件
- 以下代码实现了,选择任一单元格,则该单元格数值为10,如图3所示
- 如果选择C2:F8区域,这个区域所有单元格全部赋值10
图2 工作表事件
图3 工作表事件
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Target = 10
End Sub
以上,为本次的介绍内容,下回见。
本文首发于微信公众号:Excel高效办公之VBA。排版和细节略作修改,发于头条