我有一个问题,我想将所有工作表保存为单独的csv文件,完成后应使用原始的excel文件。我在stackoverflow上发现了一些与此相关的问题,但是我无法将它们结合起来以使其工作:(
这是我目前有效的内容:
Sub SaveSheetsAsCsv()
Dim ws As Worksheet
Application.DisplayAlerts = False
For Each ws In ActiveWorkbook.Worksheets
ws.SaveAs ActiveWorkbook.Path & "\" & ws.Name & ".csv", xlCSV, Local:=True
Next
Application.DisplayAlerts = True
End Sub
结果是,我将所有工作表都保存到了同一文件夹,但是我的工作簿被命名为我的最后一个工作表,如果我要关闭它,则说我必须保存它,但是我想保存我的工作表。原始的excel文件处于活动状态。
任何想法我该怎么做?
我尝试实现以下方法:Keep the same excel但我总是遇到错误:(
任何建议和帮助将不胜感激。
答案 0 :(得分:0)
下面的调整将工作表复制到新书,另存为CSV并关闭。
Sub SaveSheetsAsCsv()
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ThisWorkbook
Application.DisplayAlerts = False
For Each ws In ActiveWorkbook.Worksheets
ws.Copy
ActiveWorkbook.SaveAs wb.Path & "\" & ws.Name & ".csv", xlCSV, Local:=True
ActiveWorkbook.Close
Next
Application.DisplayAlerts = True
End Sub