【发布时间】:2016-03-13 08:42:50
【问题描述】:
我很欣赏有很多像save individual excel sheets as csv 这样的条目 和Export each sheet to a separate csv file - 但我想在工作簿中保存一个单个工作表。
我的 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
【问题讨论】:
-
如果您使用 Worksheet.Copy 方法,而不设置粘贴目标,Excel 会将其作为新工作簿打开,仅包含该工作表。在 Worksheet.Copy 之后,您可以简单地使用 ActiveWorkbook,因为复制的工作表工作簿成为活动工作簿,并从那里将其保存为新的 CSV 文件。
-
太棒了 - 2500 次观看,没有一票...