vba thisworkbook 切换表 执行 速度慢_带你初探VBA事件的大门—工作簿事件
![](/assets/blank.gif)
今天给大家分享VBA中一个很重要的概念—"事件",当然"此事件"非日常生活说的"事件"。
VBA中的事件指的是当对象处于某种状态下所触发的动作。
比如:我双击工作表,会自动弹出一个窗口欢迎我,那么这时工作表是对象,而双击就是对象所对应的事件。
在Excel中,事件主要分为以下四类:①工作簿事件②工作表事件③窗体、控件事件④图表事件。
今天主要分享工作簿事件,另外的三类事件稍后讲解。
工作簿事件可以理解为工作簿发生更改时触发的事件。
VBA中Excel的工作簿事件有很多,本次主要介绍三个常用事件:①Workbook_Open事件 ②BeforeClose事件 ③NewSheet事件
一、如何打开工作簿事件?
工作簿事件可以通过菜单栏中的【开发工具】-【Visual Basic】-【ThisWorkbook】-【Workbook】打开,下图右边的下拉框即是工作簿事件。
![](/assets/blank.gif)
具体的操作步骤如下:
![](/assets/blank.gif)
二、Workbook_Open事件
Workbook_Open事件,顾名思义,就是打开工作簿的时候,执行此事件。
例如:打开工作簿,弹出"问好"的对话框。核心代码如下:
Private Sub Workbook_Open()
MsgBox "你好"
End Sub
数据大作手:系统居然向我自动问好?2个小技巧轻松实现zhuanlan.zhihu.com
![](/assets/blank.gif)
上面这篇文章正是结合了Workbook_Open事件实现自动问好。
有兴趣的童鞋可以学习下。
三、BeforeClose事件
BeforeClose事件是在工作簿关闭之前,执行此事件。
例如:在关闭工作簿之前,提醒用户是不是已经保存了信息。
核心代码如下:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "要关闭工作簿了,是否需要保存?"
End Sub
具体的操作如下:
![](/assets/blank.gif)
四、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
具体的操作如下:
![](/assets/blank.gif)
VBA的工作簿事件中还有比较有用的事件,比如Activate事件、BeforeSave事件等,有兴趣的童鞋可以手动尝试下。
要想学好一门手艺,还是得花得下心思和事件,无他,唯孰能生巧尔。
看完三件事:
1.点赞,让更多的人也能看到这篇文章(收藏不点赞,都是耍流氓)
2.关注我和我的专栏,让我们共同成长
3.关注公众号"数据大作手",定期分享数据分析方面的干货
感谢你的支持!
vba thisworkbook 切换表 执行 速度慢_带你初探VBA事件的大门—工作簿事件相关推荐
- vba 修改access表的链接地址_神奇的VBA编程:禁止修改Excel工作表名称
职场中经常需要将做好的Excel表格/模板发给他人或者存放在公共路径上共享使用,此时需要禁止别人更改已经设定好的工作表名称.或者某些工作簿中有公式使用了对某些工作表的外部引用,如果工作表名称发生变化, ...
- python中函数提高代码执行速度吗_为什么Python代码在一个函数中运行得更快?
匿名用户 除了局部/全局变量存储时间外,操作码预测使函数更快. 正如其他答案所解释的,该函数在循环中使用store_fast操作码.下面是函数循环的字节码:>> 13 FOR_ITER 6 ...
- excel合并多个工作表_如何快速的合并多个 Excel 工作簿至一个工作簿中的工作表?...
作者:汪汪家的宝贝 链接:https://www.jianshu.com/p/c8ae6852f1da 前言 在日常工作过程中,我们有可能需要把多个Excel工作簿的内容汇总到一张Excel工作表中. ...
- excel撤销工作表保护默认密码_我的表格我做主:Excel工作表不想被别人改动,设置一个密码保护...
工作中,一个Excel表格需要多人填充数据时.或者发给同事的表格只允许查看时,不想表格回来时已面目全非. 今天小编教你设置工作表保护密码,不需要再三叮嘱,只允许查看表格数据的整体设置保护,需要多人填充 ...
- long long c语言_带你打开C语言的大门之C语言的变量
什么是变量,我们看名字就能知道,能改变的量就是变量,C语言的变量就是程序在运行时候的值能改变的量,我们称为变量. 怎么来记忆变量的语法呢?我们根据这么一个例子来做改变, 变量比做一个酒店,那我们对应的 ...
- 关于Excel下通过VBA实现工作簿文件下工作表的合并
对于普通使用者而言,Excel是一个比较强大的数据处理工具.一般公司的普通职员常使用它来完成数据的录入分析,但是当面对处理经由多人按统一模板统计完成的录入数据分析时,数据将分散存放在多个.xlsx文件 ...
- VBA:获取工作簿中所有表的名称、地址
####一.目的 一个工作簿中有很多的表,想提取所有表的名称和地址,方便后期公式的使用 ####二.方法 1. 使用VBA代码 Sub 提取所有工作表的名称()For Each x In Sheets ...
- Excel·VBA工作表整列拆分为工作簿
不同于<Excel·VBA按列拆分工作表.工作簿>按某列的值对工作表拆分,仅按固定列数拆分工作表单独保存为工作簿,类似于<Excel·VBA按行拆分工作表> Sub 工作表整列 ...
- 删除 多个表_合并汇总多个工作簿多个工作表,删除修改新增更新内容只需刷新...
要求:1.把多个工作簿的多个工作表内容合并汇总 2.后续在任一工作表内删除修改新增内容,无需再重新做表 3.后续在任一工作簿中新增一个或多个工作表,无需再重新做表 4.后续在文件夹中添加一个或多个Ex ...
最新文章
- LeetCode 746. Min Cost Climbing Stairs--动态规划--Java,C++,Python解法
- 脑内世界模型:脑科学基础上的意识问题哲学解说
- iOS - Swift NSEnumerator		迭代器
- PHP之mb_internal_encoding使用
- 使用存储过程创建分页
- Android简化xml sax解析
- XSS跨站脚本攻击在Java开发中防范的方法
- 从功能测试到接口测试,原来的技能可以通用
- structs2下的第一个helloworld!
- Mac 移动端http、https抓包之Charles
- [数据库]Bulk Insert命令详细
- 毕小朋《精通Android studio》读后感,以及电子书百度网盘PDF下载
- 如何获取视频文件的扩展名
- 多节点什么网络取得技术性突破_中国学者研究“多节点量子网络”取得基础性突破...
- narwal机器人_Narwal云鲸扫地机器人扫拖彻底,用户用得更省心省力
- 关于love2d引擎require导入C/C++编写的.dll/.so扩展库问题
- 容联荣膺「金融AI技术引领奖」,助力金融机构搭建智能交互中心
- tensorflow2.0 实现MTCNN、P_net数据生成,及训练-1
- wampserver局域网可以访问在线状态下的本地网站
- MIT 6.S081 Lab4 traps