我很欣赏有很多条目,例如将单个Excel工作表保存为csv 并将每个工作表导出到单独的csv文件 - 但我想在工作簿中保存单个工作表.
我的xlsm文件中的代码有一个参数和数据表.我使用粘贴的值创建数据的工作表副本,然后将其保存为csv.目前我的整个工作簿更改名称并成为csv.
如何在Excel工作簿中"另存为csv"单张?
有没有Worksheet.SaveAs
或者我必须将我的数据表移动到另一个工作簿并以这种方式保存?
代码示例
' [Sample so some DIMs and parameters passed in left out] Dim s1 as Worksheet Dim s2 as Worksheet Set s1 = ThisWorkbook.Sheets(strSourceSheet) ' copy across s1.Range(s1.Cells(1, 1), s1.Cells(lastrow, lastcol)).Copy ' Create new empty worksheet for holding values Set s2 = Worksheets.Add s2.Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats ' save sheet s2.Activate strFullname = strPath & strFilename ' >>> BIT THAT NEEDS FIXIN' s2.SaveAs Filename:=strFullname, _ FileFormat:=xlCSV, CreateBackup:=True ' Can I do Worksheets.SaveAs?
使用Windows 10和Office 365
这段代码对我来说很好.
Sub test() Application.DisplayAlerts = False ThisWorkbook.Sheets(strSourceSheet).Copy ActiveWorkbook.SaveAs Filename:=strFullname, FileFormat:=xlCSV, CreateBackup:=True ActiveWorkbook.Close Application.DisplayAlerts = True End Sub
它正在制作整个strSourceSheet表的副本,它打开一个新的工作簿,然后我们可以将其保存为.csv文件,然后关闭新保存的.csv文件,而不是弄乱原始文件上的文件名.