Macro VBA para crear archivos de cada hoja Excel
Con un mínimo de código vamos a crear archivos independientes de las hojas de un libro. Un ejemplo sería un libro con 124 hojas, una hoja por empleado, y ahora queremos separar las hojas de cada colega y crear libros independientes.
Procedimiento
Empezamos con el libro de una o varias hojas. Luego vamos a crear un módulo dentro de este libro. En este módulo escribimos el código.
Crear el módulo
Entra a Herramientas - Macros - Editor VBA. A la izquierda ves (si no lo ves CTRL+R) algo como "ProyectoVBA (Tu libro). Marca ese proyecto. Insertar - Módulo.
Doble click en el módulo nuevo, y a la derecha sale un espacio blanco, es para el código. Herramientas - Referencias. Marca Microsoft ActiveX DataObjects x.x Library.
Ahora cierras el editor VBA, vuelves a Excel. Guardamos el libro.
Código
Dim strHoja, strStartHoja, strRuta As String
Dim i As Integer
Application.ScreenUpdating = False
strStartHoja = ActiveCell.Worksheet.Name
'bucle todas hojas
For i = 1 To Sheets.Count
'copia la hoja a libro nuevo
Sheets(i).Activate
strHoja = ActiveCell.Worksheet.Name
Sheets(strHoja).Copy
'donde guardar los archivos creados
strRuta = "C:\excel\vba\ejemplos"
'guarda el libro nuevo
ActiveWorkbook.SaveAs Filename:=strRuta & "\" & strHoja, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close Savechanges:=True
'repetir bucle'
Next
Sheets(strStartHoja).Activate
Application.ScreenUpdating = True
End Sub


