![66b523ed4b4ce363447bf3c6ad51d076.png](https://img-blog.csdnimg.cn/img_convert/66b523ed4b4ce363447bf3c6ad51d076.png)
小白:哎呀,我的电脑死机啦!!!
这时领到走过来问:你的数据准备好了吗?
小白:还没,电脑死机了,数据忘记保存了
领导:那赶紧做啊,这么不小心。
在工作中,你是不是也遇到上述的场景,由于忘记保存,导致数据全部丢失~
别急,今天带大家来实现VBA实现定时自动保存的功能。
实现该功能需了解2个知识点:①Application.OnTime方法 ②SaveCopyAs方法
那么如何实现呢?下面就给大家一步步讲解。
一. Application.OnTime方法
该方法的作用:将VBA中定义好的一个过程在未来的特定时间运行。
过程的定义详阅
数据大作手:写VBA代码前所需要掌握的概念(下)zhuanlan.zhihu.com![e377740c58dfbfa4c04e4899d14918ba.png](https://img-blog.csdnimg.cn/img_convert/e377740c58dfbfa4c04e4899d14918ba.png)
格式如下:
Application.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
【小贴士】
一般来说,参数LatestTime, Schedule可以取默认值,不用填写。
举个栗子:
假设要安排在1分钟之后执行一个过程"proce",可以写成:
Application.OnTime Now + TimeValue("00:60:00"), "proce"
二、SaveCopyAs方法
该方法的作用:将工作簿副本保存到文件中,但不修改内存中打开的工作簿。也就是将手动另存为的操作用VBA的方式写出来。
格式:SaveCopyAs(FileName)
三、VBA定时自动保存功能
学会了上述这两个方法,就可以实现定时自动保存的功能啦。
妈妈再也不用担心我忘记保存啦~
具体的VBA语句是这样的:
Sub auto_saves()
Application.OnTime Now + TimeValue("00:00:30"), Procedure:="auto_saves"
ActiveWorkbook.SaveCopyAs "E:公众号(VBA从入门到精通)数据源VBA自动保存定时保存1.xlsm"
End Sub
我们先来看下实际是什么样的效果吧~
![bb776089b0da7187a543367615fe8600.gif](https://img-blog.csdnimg.cn/img_convert/bb776089b0da7187a543367615fe8600.gif)
感兴趣的同学也可以动手实现下。
看完三件事:
1.点赞,让更多的人也能看到这篇文章(收藏不点赞,都是耍流氓)
2.关注我和我的专栏,让我们共同成长
3.关注公众号"数据大作手",定期分享数据分析方面的干货
感谢你的支持!