今天给大家分享VBA中一个很重要的概念—"事件",当然"此事件"非日常生活说的"事件"。

VBA中的事件指的是当对象处于某种状态下所触发的动作。

比如:我双击工作表,会自动弹出一个窗口欢迎我,那么这时工作表是对象,而双击就是对象所对应的事件。

在Excel中,事件主要分为以下四类:①工作簿事件②工作表事件③窗体、控件事件④图表事件。

今天主要分享工作簿事件,另外的三类事件稍后讲解。

工作簿事件可以理解为工作簿发生更改时触发的事件。

VBA中Excel的工作簿事件有很多,本次主要介绍三个常用事件:①Workbook_Open事件 ②BeforeClose事件 ③NewSheet事件

一、如何打开工作簿事件?

工作簿事件可以通过菜单栏中的【开发工具】-【Visual Basic】-【ThisWorkbook】-【Workbook】打开,下图右边的下拉框即是工作簿事件。

具体的操作步骤如下:

二、Workbook_Open事件

Workbook_Open事件,顾名思义,就是打开工作簿的时候,执行此事件。

例如:打开工作簿,弹出"问好"的对话框。核心代码如下:

Private Sub Workbook_Open()

MsgBox "你好"

End Sub

数据大作手:系统居然向我自动问好?2个小技巧轻松实现​zhuanlan.zhihu.com

上面这篇文章正是结合了Workbook_Open事件实现自动问好。

有兴趣的童鞋可以学习下。

三、BeforeClose事件

BeforeClose事件是在工作簿关闭之前,执行此事件。

例如:在关闭工作簿之前,提醒用户是不是已经保存了信息。

核心代码如下:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

MsgBox "要关闭工作簿了,是否需要保存?"

End Sub

具体的操作如下:

四、NewSheet事件

NewSheet事件是在工作簿中新建工作表时产生此事件。

例如:要在新建的工作表中默认取名为当前Sheet名后面加一个数字。

即,如果当前有4个工作表,那新增的这个工作表名为"工作表5"。

核心代码如下:

Private Sub Workbook_NewSheet(ByVal Sh As Object)

Counts = Worksheets.Count '当前工作表计数

If TypeName(Sh) = "Worksheet" Then

Sh.Name = "工作表" & Counts

End If

End Sub

具体的操作如下:

VBA的工作簿事件中还有比较有用的事件,比如Activate事件、BeforeSave事件等,有兴趣的童鞋可以手动尝试下。

要想学好一门手艺,还是得花得下心思和事件,无他,唯孰能生巧尔。

看完三件事:

1.点赞,让更多的人也能看到这篇文章(收藏不点赞,都是耍流氓)

2.关注我和我的专栏,让我们共同成长

3.关注公众号"数据大作手",定期分享数据分析方面的干货

感谢你的支持!

vba thisworkbook 切换表 执行 速度慢_带你初探VBA事件的大门—工作簿事件相关推荐

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

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

  2. python中函数提高代码执行速度吗_为什么Python代码在一个函数中运行得更快?

    匿名用户 除了局部/全局变量存储时间外,操作码预测使函数更快. 正如其他答案所解释的,该函数在循环中使用store_fast操作码.下面是函数循环的字节码:>> 13 FOR_ITER 6 ...

  3. excel合并多个工作表_如何快速的合并多个 Excel 工作簿至一个工作簿中的工作表?...

    作者:汪汪家的宝贝 链接:https://www.jianshu.com/p/c8ae6852f1da 前言 在日常工作过程中,我们有可能需要把多个Excel工作簿的内容汇总到一张Excel工作表中. ...

  4. excel撤销工作表保护默认密码_我的表格我做主:Excel工作表不想被别人改动,设置一个密码保护...

    工作中,一个Excel表格需要多人填充数据时.或者发给同事的表格只允许查看时,不想表格回来时已面目全非. 今天小编教你设置工作表保护密码,不需要再三叮嘱,只允许查看表格数据的整体设置保护,需要多人填充 ...

  5. long long c语言_带你打开C语言的大门之C语言的变量

    什么是变量,我们看名字就能知道,能改变的量就是变量,C语言的变量就是程序在运行时候的值能改变的量,我们称为变量. 怎么来记忆变量的语法呢?我们根据这么一个例子来做改变, 变量比做一个酒店,那我们对应的 ...

  6. 关于Excel下通过VBA实现工作簿文件下工作表的合并

    对于普通使用者而言,Excel是一个比较强大的数据处理工具.一般公司的普通职员常使用它来完成数据的录入分析,但是当面对处理经由多人按统一模板统计完成的录入数据分析时,数据将分散存放在多个.xlsx文件 ...

  7. VBA:获取工作簿中所有表的名称、地址

    ####一.目的 一个工作簿中有很多的表,想提取所有表的名称和地址,方便后期公式的使用 ####二.方法 1. 使用VBA代码 Sub 提取所有工作表的名称()For Each x In Sheets ...

  8. Excel·VBA工作表整列拆分为工作簿

    不同于<Excel·VBA按列拆分工作表.工作簿>按某列的值对工作表拆分,仅按固定列数拆分工作表单独保存为工作簿,类似于<Excel·VBA按行拆分工作表> Sub 工作表整列 ...

  9. 删除 多个表_合并汇总多个工作簿多个工作表,删除修改新增更新内容只需刷新...

    要求:1.把多个工作簿的多个工作表内容合并汇总 2.后续在任一工作表内删除修改新增内容,无需再重新做表 3.后续在任一工作簿中新增一个或多个工作表,无需再重新做表 4.后续在文件夹中添加一个或多个Ex ...

最新文章

  1. LeetCode 746. Min Cost Climbing Stairs--动态规划--Java,C++,Python解法
  2. 脑内世界模型:脑科学基础上的意识问题哲学解说
  3. iOS - Swift NSEnumerator 迭代器
  4. PHP之mb_internal_encoding使用
  5. 使用存储过程创建分页
  6. Android简化xml sax解析
  7. XSS跨站脚本攻击在Java开发中防范的方法
  8. 从功能测试到接口测试,原来的技能可以通用
  9. structs2下的第一个helloworld!
  10. Mac 移动端http、https抓包之Charles
  11. [数据库]Bulk Insert命令详细
  12. 毕小朋《精通Android studio》读后感,以及电子书百度网盘PDF下载
  13. 如何获取视频文件的扩展名
  14. 多节点什么网络取得技术性突破_中国学者研究“多节点量子网络”取得基础性突破...
  15. narwal机器人_Narwal云鲸扫地机器人扫拖彻底,用户用得更省心省力
  16. 关于love2d引擎require导入C/C++编写的.dll/.so扩展库问题
  17. 容联荣膺「金融AI技术引领奖」,助力金融机构搭建智能交互中心
  18. tensorflow2.0 实现MTCNN、P_net数据生成,及训练-1
  19. wampserver局域网可以访问在线状态下的本地网站
  20. MIT 6.S081 Lab4 traps

热门文章

  1. python类的参数传递
  2. 建空列表list,数组array,矩阵matrix
  3. jittor和pytorch生成网络对比之cyclegan
  4. Python进程池,线程池,协程池
  5. 学号20175313 《实现Linux下cp XXX1 XXX2的功能(一)》第九周
  6. Spring之DAO二
  7. Excel直接转图片
  8. 关于Cocos2d-x中增加暂停按钮的步骤
  9. 基于数组的无锁队列(译)
  10. java.sql.Connection.close() vs null