Excel VBA工作薄 5.14忙碌了一天的数据下班忘记保存就关机了?这个乌龙真大!

前景提要

最近有童鞋表示,现在都是大数据时代了,在公司处理的数据都非常的多,虽然有了VBA的帮助,但是受限于excel版本的问题以及电脑本身性能的影响,处理数据还是要浪费一些精力的,加上经常上面交代的都是一些突发的临时事件,很容易打乱我们的节奏,经常出现打开的数据报表过多,关错了数据表,自己做了N小时的数据就没有了,他们询问我能不能弄出一个关闭就自动保存数据的方法。

场景模拟

其实说到这个功能的时候,我也是立刻就有方案和思路了,为什么呢?因为这样的大乌龙小编自己也是做过(捂脸),并且不止一次(捂脸),你要问我找回数据的方法,对不起我尝试了好多百度的方法均无功而返,最终还是利用VBA实现了关闭工作薄即自动保存数据的功能,帮我解决了这个眼花手残导致的问题。

方法分析

关闭即自动保存,这样的功能excel是没有的,excel本身有的功能就是间隔多少时间帮你自动保存一下数据,而且是时灵时不灵的那种,其实我们可以利用工作薄的事件功能,再关闭工作薄之前,自动执行一次保存命令,不久解决了吗?,上代码

代码区

Private Sub Workbook_BeforeClose(Cancel As Boolean)ActiveWorkbook.Close TrueMsgBox "工作薄也保存,请放心下班!"End Sub

来看看效果,一旦你点击了关闭工作薄的按钮,就有惊喜

点击确定就会关闭工作薄了,当然你可以不需要展示这个弹窗的,弹窗仅仅是为了展示的效果而已,皮一下很开心,哈哈,我们在打开看看数据是否成功保存

nice,成功的实现了工作薄关闭前的自动保存功能

代码分析

今天的代码并不难,难得是写代码的地方,我们之前说了这是一个工作薄的事件程序,上一节我们分享工作薄的登陆界面的时候,也说到过这个问题,今天我们简单说下

工作薄的事件程序都是在thisworkbook这个代码块的,每一个工作薄打开VBA编辑界面都会有这样的一个代码区,双击就可以进入该代码区

比方说工作薄打开事件,我们学习工作薄的保护的时候,那个登录页面,就是在工作薄的打开事件的接触上写的,在工作薄打开的时候,执行展示登陆窗体的操作的

而今天也是一样,我们要执行的工作薄的关闭之前事件,在关闭之前,先保存数据再关闭,所以这个程序的开头和我们之前的开头不一样

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Workbook_BeforeClose这几个英文单独大家应该都能看到,工作薄关闭之前,关闭之前干嘛?就是我们的代码要执行的操作了

ActiveWorkbook.Close TrueMsgBox "工作薄也保存,请放心下班!"

工作薄的保存,然后再关闭工作薄了

好了 这样就成功的实现了一个工作薄关闭之前自动保存数据的功能了,

(0)

相关推荐