Quier opedir a experto que me haga el favor de comentrame esta macro.
Mi agradecimiento
Código:
Agregue algunos comentarios pero, aun así no estoy seguro de que este bien y si aun falta algun comentario mas para entender lo mejor posible la macro Sub SplitWorkbook()
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim xWs As Worksheet
Dim xWb As Workbook
Dim FolderName As String
Application.ScreenUpdating = False
'nombre carpeta
Set xWb = Application.ThisWorkbook
DT = Format(Now, "dd-mm-yy hh-mm-ss")
'Carpeta destino
FolderName = xWb.Path & "\" & xWb.Name & " " & DT
'Directorio
MkDir FolderName
For Each xWs In xWb.Worksheets
xWs.Copy
If Val(Application.Version) < 12 Then
FileExtStr = ".xls": FileFormatNum = -4143
Else
'Formato de archivo
Select Case xWb.FileFormat
Case 51:
FileExtStr = ".xlsx": FileFormatNum = 51
Case 52:
If Application.ActiveWorkbook.HasVBProject Then
FileExtStr = ".xlsm": FileFormatNum = 52
Else
FileExtStr = ".xlsx": FileFormatNum = 51
End If
Case 56:
FileExtStr = ".xls": FileFormatNum = 56
Case Else:
FileExtStr = ".xlsb": FileFormatNum = 50
End Select
End If
'Guardar archivo con el formato adecuado
xfile = FolderName & "\" & Application.ActiveWorkbook.Sheets(1).Name & FileExtStr
Application.ActiveWorkbook.SaveAs xfile, FileFormat:=FileFormatNum
Application.ActiveWorkbook.Close False
Next
'Mensage de guardado
MsgBox "Archivo guardado en " & xfile
Application.ScreenUpdating = True
End Sub


