eic*_*a3I 18 microsoft-excel xlsx
我认为标题说明了这个问题的全部内容,但要进一步详细说明:
我有一个包含几十张纸的 .xlsx 文件。我想将所有这些工作表作为单独的 .xlsx 文件输出。不需要自动命名它们。excel 有将工作表导出到单独文件的功能吗?
Pet*_*ert 17
它不是内置功能。
但是,如果您运行此代码,它应该可以完成工作。
Sub SaveSheets()
Dim strPath As String
Dim ws As Worksheet
Application.ScreenUpdating = False
strPath = ActiveWorkbook.Path & "\"
For Each ws In ThisWorkbook.Sheets
ws.Copy
'Use this line if you want to break any links:
BreakLinks Workbooks(Workbooks.Count)
Workbooks(Workbooks.Count).Close True, strPath & ws.Name & ".xlsx"
Next
Application.ScreenUpdating = True
End Sub
Sub BreakLinks(wb As Workbook)
Dim lnk As Variant
For Each lnk In wb.LinkSources(xlExcelLinks)
wb.BreakLink lnk, xlLinkTypeExcelLinks
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
要运行代码,请执行以下操作:
SaveSheets
小智 10
我尝试了Peter Albert 的解决方案,但它对我不起作用,所以我在计算机极客日记的这篇文章(“Excel – 将工作表保存为单独的文件”)中找到了一个解决方案。
它工作得很好。您应该重命名包含点的工作表以获得正确命名的带.xls
扩展名的文件。
Sub CreateNewWBS()
Dim wbThis As Workbook
Dim wbNew As Workbook
Dim ws As Worksheet
Dim strFilename As String
Set wbThis = ThisWorkbook
For Each ws In wbThis.Worksheets
strFilename = wbThis.Path & "/" & ws.Name
ws.Copy
Set wbNew = ActiveWorkbook
wbNew.SaveAs strFilename
wbNew.Close
Next ws
End Sub
Run Code Online (Sandbox Code Playgroud)
使用来自 Peter Albert 的帖子或如何在 MS Office 中添加 VBA 的说明创建和运行此宏?
归档时间: |
|
查看次数: |
139701 次 |
最近记录: |