你是不是也干过这种事:改了半天报表,本想“另存为”却点了“保存”,原文件直接被覆盖,欲哭无泪😭
或者电脑突然蓝屏、断电,几小时的心血瞬间蒸发...
痛点一句话:重要文件只存一份,就是在给自己挖坑。
今天分享一段VBA代码,让你的Excel在每次打开时,自动在相同目录下生成一个带当前时间戳的副本(格式:20260217153045-原文件名.xlsm),从此告别手滑和意外!
📌 代码使用方法(1分钟搞定)
- 打开VBA编辑器:按
Alt + F11(笔记本可能需加按Fn)。 - 粘贴代码:双击左侧“ThisWorkbook”,将下方代码贴入。
- 保存为启用宏格式
- 关闭再打开
Private Sub Workbook_Open() Dim savePath As String, timestamp As String timestamp = Format(Now, "yyyymmddhhmmss") savePath = Me.Path & "\" & timestamp & "-" & Me.Name Me.SaveCopyAs savePathEnd Sub
以后每次打开文件,系统自动存档一次。原文件改动?不怕,随时可以找回历史版本!
示例文件下载方法在文后。
VBA常用小代码合集
示例文件下载链接:
https://cloud.189.cn/web/share?code=6Vf6jmA7ZnMn(访问码:dl0h)