Hola, buenos dias a todos
Quier opedir a experto que me haga el favor de comentrame esta macro.
Mi agradecimiento
Código:
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
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