自动生成保存excel文件名VBA宏?

时间:2015-07-16 11:04:57

标签: excel vba excel-vba

自动生成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

我的代码工作正常,但是当我下次保存然后问你想要替换它但我想要自动生成名称

1 个答案:

答案 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