回答:
これは組み込みの機能ではありません。
ただし、このコードを実行すると、ジョブが実行されます。
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
コードを実行するには、次を実行します。
SaveSheets
Workbooks(Workbooks.Count).BreakLinks
た後ws.Copy
...
Workbooks(Workbooks.Count).BreakLink
- s
最後に
Excelシートのタブを右クリックすると、[ 移動]または [ コピー... ]を選択できます。
表示されるダイアログで、対象のワークブックを選択できます。(新しい本)を選択します。
OKをクリックします。これで、シートは新しいドキュメント内にあります。
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
Peter Albertの投稿またはMS OfficeにVBAを追加するには