如何在 VBA 中保存 sheet

how to save a sheet in VBA

我正在构建一个表单,当您填写它时,它应该生成 2 个文件作为输出。

为了做到这一点,我在后台填充了 2 个 sheet,具体取决于用户输入的按钮以保存它们(作为 csv)。

这是保存sheet-

的代码
Worksheets("worksheetname").SaveAs Filename:="C:\path" & name & ".csv", FileFormat:=xlCSV, CreateBackup:=False

问题是用户按下按钮后,他正在填写的表单现在是 'saved as csv',而不是以前的 xlsm。

有没有办法避免这种情况的发生?在不影响表单的情况下生成输出?

谢谢!

为了保持原始工作簿的完整性,您需要在将工作表另存为 CSV 之前创建一份 副本。试试这个:

Application.DisplayAlerts = False
Worksheets("worksheetname").copy '  Forks a copy of the sheet in a new, active WB
With ActiveWorkbook
    .SaveAs Filename:="C:\Path\" & name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
    .Close False
End With
Application.DisplayAlerts = True