如何保存muliplte Excel表格到今天的日期?

时间:2019-09-03 16:10:45

标签: excel vba excel-formula

我想按今天的日期和单元格值将多个Excel工作表保存到所需的文件夹中?我该怎么做。因此,假设我有5个excel表格,单元格值为A1 =“ ABC”,依此类推。所以我想按今天的日期和单元格值保存这5张excel工作表。这些所有数据都是静态的。

我已经运行了这段代码。它将所有工作表保存到该位置,但不保存到今天的日期,还保存了单元格值。

Sub ExportSheetsToCSV()
Dim xWs As Worksheet
Dim xcsvFile As String

For Each xWs In Application.ActiveWorkbook.Worksheets
    xWs.Copy
    xcsvFile = "F\" & "\" & xWs.Name & ".csv"
    Application.ActiveWorkbook.SaveAs Filename:=xcsvFile, _
    FileFormat:=xlCSV, CreateBackup:=False
       Application.DisplayAlerts = False
    Application.ActiveWorkbook.Saved = True

    Application.ActiveWorkbook.Close
Next
End Sub

我无法保存它。

1 个答案:

答案 0 :(得分:1)

您发布的原始代码充满语法问题,而且您永远也不要指定要将今天的日期保存在文件名中。给下面的去。我发表了一些评论,向您展示您遇到的一些问题。

Sub ExportSheetsToCSV()

    Dim xWs As Worksheet
    Dim xcsvFile As String

    For Each xWs In ThisWorkbook.Worksheets 'only move through the sheets in the workbook housing the code

        xcsvFile = "F:\" & xWs.Range("A1").Value & "_" & Format(Now, "mm-dd-yyyy") & ".csv"
        'xcsvFile = "F\" & "\" & xWs.Name & ".csv" 'compare mine to yours to see issues

        xWs.Copy

        Dim newSheet As Workbook 'setting copied sheet to workbook variable for easier coding
        Set newSheet = ActiveSheet.Parent 'parent of worksheet is workbook

        newSheet.SaveAs Filename:=xcsvFile, FileFormat:=xlCSV, CreateBackup:=False
        newSheet.Close False

    Next

End Sub