我想按今天的日期和单元格值将多个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
我无法保存它。
答案 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