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