【问题标题】:Export more sheets as separate .csv files将更多工作表导出为单独的 .csv 文件
【发布时间】:2020-06-30 07:17:13
【问题描述】:

我正在尝试使用以下代码将两个工作表导出到两个不同的 csv 文件中:

import_bt.SaveAs Filename:="D:\Temp\import_bt.csv", FileFormat:=xlCSV, CreateBackup:=False, Local:=False
import_brd.SaveAs Filename:="D:\Temp\import_brd.csv", FileFormat:=xlCSV, CreateBackup:=False, Local:=True

代码工作正常,但我有一个问题,它还将我的整个文件保存为最后一个名为 import_brd.csv 文件。

【问题讨论】:

标签: excel vba


【解决方案1】:

为了能够在不更改活动文档名称的情况下复制工作表,您无法继续尝试。它将始终保存工作表,但工作簿将另存为您最后分配的 (csv) 名称。

请试试这个代码:

Sub testSaveSheetAsCSV()
   Dim import_bt As Worksheet, import_brd As Worksheet, wb As Workbook

    'I used dummy sheets name only for testing reason. Please, use your real ones:
    Set import_bt = Sheets("Test") 'use here your necessary sheet
    Set import_brd = Sheets("Teste") 'use here your necessary sheet
     Set wb = Workbooks.aDD
     import_bt.Copy Before:=wb.Worksheets(1)
     wb.SaveAs fileName:=ThisWorkbook.path & "\import_bt.csv", FileFormat:=xlCSV, CreateBackup:=False, Local:=False
     import_brd.Copy Before:=wb.Worksheets(1) 'it will save its first sheet
     wb.SaveAs fileName:=ThisWorkbook.path & "\import_brd.csv", FileFormat:=xlCSV, CreateBackup:=False, Local:=True
     wb.Close False
End Sub

它添加一个新工作簿,在新创建的工作簿的现有第一个工作簿之前复制需要转换为 CSV 的工作表,然后将其保存(AS CSV)。它重复第二张工作表的步骤并关闭临时工作簿。

如果您需要避免有关覆盖现有文件的警告(如果是这种情况),可以调整代码以避免它。仅在您想使用代码或使用最后必要的文件更新现有 csv 文件的情况下。

【讨论】:

    猜你喜欢
    • 2021-10-24
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    • 1970-01-01
    相关资源
    最近更新 更多