自动生成excel文件名VBA宏? 大家好我想在宏中自动生成excel文件名 我的代码在这里
Sub Sheet_SaveAs()
Dim wb As Workbook
Sheets("Sheet1").Copy
Set wb = ActiveWorkbook
With wb
.SaveAs ThisWorkbook.Path & "\autogenrate.xlsx"
'.Close False
End With
End Sub
我的代码工作正常,但是当我下次保存然后问你想要替换它但我想要自动生成名称
答案 0 :(得分:1)
最简单的解决方法是每次更改为唯一的名称。最简单的方法可能是使用日期时间字符串
Sub Sheet_SaveAs()
Dim wb As Workbook
Sheets("Sheet1").Copy
Set wb = ActiveWorkbook
With wb
.SaveAs ThisWorkbook.Path & "\" & _
Format(Now, "yyyymmdd") & _
Replace(Format(Now, "Long Time"), ":", "") & _
".xlsx"
.Close False
End With
End Sub
日期和领带部分是分开的,允许您使用秒,因此您的限制是每秒1次保存。如果你需要更频繁的保存,你也必须包括一个毫秒计数器。这种方法的好处是它可以在文件夹中按顺序保存备份。
您可以在此处阅读有关格式化日期等的更多信息 - https://msdn.microsoft.com/en-us/library/office/gg251755.aspx