Algunas veces que se trabaja con muchos datos y varios de ellos se deben pasar a un mismo formato de hoja, resulta cómodo trabajarlo desde un mismo archivo excel, sin embargo luego existe la necesidad de independizar cada una de las hojas creadas en el archivo. En el caso que se tengan 20 ó 100 hojas resulta complicado copiar cada una de ellas en un libro nuevo y guardarlo.

Para realizar esto de manera más sencilla, se puede usar un poco de código de excel VBA. En las siguientes líneas expongo el código a utilizar.

[code language=”vb”]
Sub IndepHojas()
Dim wb As Workbook
Dim ruta As String ‘ruta de carpeta
Dim fxls As String ‘ruta para guardar
Dim i As Integer
Set wb = ActiveWorkbook
ruta = wb.Path
For i = 1 To wb.Sheets.Count
fxls = ruta & "\" & wb.Sheets(i).Name & ".xls"
wb.Sheets(i).Activate
wb.Sheets(i).Copy
ActiveWorkbook.SaveAs Filename:=fxls, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Next i
Set wb = Nothing
End Sub
[/code]

A continuación explico lo que hace este código.

Con las líneas 01 y 17 se inicia y se termina la subrutina. En las líneas 02, 03, 04 y 05 se declaran las variables. La línea 06 asigna a wb como el libro activo, el libro del cual se crearán archivos independientes de cada una de sus hojas. En la línea 07 se toma la ruta donde se encuentra guardado el libro activo.

Entre las líneas 08 y 19 se hace un bucle for para recorrer cada una de las hojas de un libro y crear los archivos independientes. En la línea 09 se asigna la ruta completa donde se guardará la hoja “i”, las líneas 10 y 11 realizan el proceso de seleccionar y copiar. Las líneas 12, 13 y 14 guardan el archivo.

Puedes descargar este archivo aquí.

Crear libros independientes con las hojas de un archivo excel

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *