前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel VBA事件

Excel VBA事件

作者头像
xyj
发布2020-07-28 11:25:13
1.3K0
发布2020-07-28 11:25:13
举报
文章被收录于专栏:VBA 学习VBA 学习

1、事件:

事件,和日常生活中的差不多,就是发生了什么事情。

在Excel里,能发生的事件很多:

  • 打开、关闭工作簿
  • 新建工作簿
  • 新建工作表
  • 激活工作表
  • 选择单元格
  • 单元格改写
  • …………

这些都是事件,其实就是平时手动操作Excel的一些动作。

在Excel VBA里提供了接口,在发生这些事件之前或者之后,让使用者可以设置一段运行的程序。

比如双击打开工作簿,可以设置运行一段程序:

上面就是一个工作簿打开事件,运行一段程序:

代码语言:javascript
复制
Private Sub Workbook_Open()
    MsgBox "工作簿打开了"
End Sub

这种格式是固定的,必须按照这种模式,Excel VBA才能识别它为一个事件,所以为了避免使用者手动输入而造成的错误,Excel VBA提供了下拉选项让使用者直接选择。

左边是选择事件的主体(Workbook),右边是这个主体具有的事件。

2、代码存放的地方:

以前写的代码都是插入一个模块,在模块里编写代码。

Excel文件一旦创建,就已经创建好了几个特殊的模块:ThisWorkbook、Sheet1(有几个工作表就会有几个Sheet#模块)。这几个模块也可以像普通的模块一样编写代码,但是一般都是存放一些事件代码,像上面的Workbook_Open,是必须放在ThisWorkbook模块里面才会有效果的。

通过名称也能大概猜到:

  • 工作簿的事件代码,必须存放在ThisWorkbook模块
  • 工作表事件的代码,必须存放在对应的Sheet#模块

这里所说的代码存放不是说一定是所有需要的代码,只是那个过程的名称必须存放在对应的模块,中间仍然可以调用普通模块的函数或者过程,而这些函数或者过程的代码可以存放在普通的模块中。

3、事件的作用:

个人认为,事件代码的作用仅仅是为了一些操作上的方便,而对于数据处理来说,作用不大。

而且事件用的不恰当,会影响Excel的运行效率,刚接触事件的可能会觉得比较好玩,建议事件的使用场所是在一些比较简单的表格里,一旦数据运算非常复杂了,尽量不要去使用。

本文参与?腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-20,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 VBA 学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体同步曝光计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com