시도 : 그 링크 코드를 볼 수 없습니다
Sub Splitbook()
Application.ScreenUpdating = False
Dim myPath As String
Dim rng As Range
Dim sht As Worksheet
Dim lastRow As Long
Dim wkb As Workbook
For Each sht In ThisWorkbook.Sheets
lastRow = sht.Range("A6500").End(xlUp).Row
If lastRow < 2 Then GoTo nextSht
Set rng = sht.Range("A2:C" & lastRow)
If Not rng Is Nothing Then
Set wkb = Workbooks.Add
rng.Copy wkb.Sheets(1).Range("A2")
myPath = filePath(sht.Name)
wkb.SaveAs Filename:=myPath
wkb.Close
Set wkb = Nothing
Set rng = Nothing
End If
nextSht:
Next
Application.ScreenUpdating = True
End Sub
Function filePath(worksheetname As String) As String
Dim fso As Object, MyFolder As String
Set fso = CreateObject("Scripting.FileSystemObject")
MyFolder = ThisWorkbook.Path & "\Reports"
If fso.FolderExists(MyFolder) = False Then
fso.CreateFolder (MyFolder)
End If
MyFolder = MyFolder & "\" & Format(Now(), "MMM_YYYY")
If fso.FolderExists(MyFolder) = False Then
fso.CreateFolder (MyFolder)
End If
filePath = MyFolder & "\" & worksheetname & Format(Now(), "DD-MM-YY hh.mm.ss") & ".xlsx"
Set fso = Nothing
End Function
, 나는 그냥 리본 관리 추가 기능을 참조하십시오. VBA를 사용하면 그렇게하기가 어렵지 않습니다. –
내가 처분 할 수있는 Alt + F11, VBA를 알려 드리겠습니다. 이제 프로그래머로서 (StackOverflow는 프로그래머를위한 플랫폼이므로) 코드 작성이 가능할 것으로 기대합니다. Excel 스프레드 시트 창에서 레코드 매크로 버튼을 사용하여 코딩하려는 작업을 기록해보십시오. 녹음을 중지하고 VBA 창으로 전환하여 결과를 확인한 다음 마음에 두는 것을 자동화하십시오. –