답변:
내장 기능이 아닙니다.
그러나이 코드를 실행하면 작업을 수행해야합니다.
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
또는 MS Office에서 VBA를 어떻게 추가합니까?를 참조하십시오 .
Workbooks(Workbooks.Count).BreakLinks
후 ws.Copy
...
Workbooks(Workbooks.Count).BreakLink
s
Excel 시트의 탭을 마우스 오른쪽 버튼으로 클릭하면 이동 또는 복사 ...를 선택할 수 있습니다 .
결과 대화 상자에서 대상 통합 문서를 선택할 수 있습니다. (새 책)을 선택하십시오 .
확인을 클릭하십시오 . 시트가 이제 새 문서 안에 있습니다.
Peter Albert의 솔루션을 사용해 보았지만 효과가 없었기 때문에 Diary of a computer geek 에서이 게시물 (“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 를 어떻게 추가합니까? 에서이 매크로를 생성하고 실행하려면 지침을 사용하십시오 .