Icono del sitio Desafiando Excel

Crear archivo por hoja en Excel (macro)

Crear archivo por hoja en Excel (macro)

¿Cómo podemos crear un archivo por hoja mediante el uso de macros en Excel?

La siguiente macro nos permite generar archivos con los nombres de cada hoja de un archivo en una misma carpeta mediante macros de forma rápida y fácil en Excel.

La instrucción a copiar dentro de un nuevo módulo de vba es la siguiente:

 

CREAR ARCHIVO POR HOJA EN EXCEL

Sub CrearArchivoPorHoja()

    Dim ws As Worksheet
    Dim wbNuevo As Workbook
    Dim Ruta As String
    Dim NombreArchivo As String

    If ThisWorkbook.Path = "" Then
        MsgBox "Primero guarda el libro.", vbExclamation
        Exit Sub
    End If

    Ruta = ThisWorkbook.Path & "\"

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

    For Each ws In ThisWorkbook.Worksheets

        ws.Copy
        Set wbNuevo = ActiveWorkbook

        NombreArchivo = ws.Name

        ' Reemplaza caracteres no permitidos en nombres de archivo
        NombreArchivo = Replace(NombreArchivo, "\", "-")
        NombreArchivo = Replace(NombreArchivo, "/", "-")
        NombreArchivo = Replace(NombreArchivo, ":", "-")
        NombreArchivo = Replace(NombreArchivo, "*", "-")
        NombreArchivo = Replace(NombreArchivo, "?", "-")
        NombreArchivo = Replace(NombreArchivo, """", "-")
        NombreArchivo = Replace(NombreArchivo, "<", "-") NombreArchivo = Replace(NombreArchivo, ">", "-")
        NombreArchivo = Replace(NombreArchivo, "|", "-")

        wbNuevo.SaveAs Filename:=Ruta & NombreArchivo & ".xlsx", _
                       FileFormat:=xlOpenXMLWorkbook

        wbNuevo.Close SaveChanges:=False

    Next ws

    Application.DisplayAlerts = True
    Application.ScreenUpdating = True

    MsgBox "Archivos creados correctamente en:" & vbCrLf & Ruta, vbInformation

End Sub

 

Notar que nombramos a la macro «CrearArchivoPorHoja». Cada vez que ejecutemos la macro estaremos creando un archivo por cada hoja que contenga el libro activo. Notar que debemos tener el archivo original guardado, caso contrario solicitará su guardado. Si al crear un archivo con el nombre de una hoja, éste ya existe en la misma carpeta, se sobrescribirá.

De esta forma logramos crear un archivo por hoja de forma rápida y fácil mediante macros en Excel.

 

Te recomiendo ver el siguiente link con más videos de Macros útiles de Excel AQUÍ.

¿No sabés como instalar esta macro? ¡No te preocupes!  Aquí está la solución:

Salvo aclaración, todas las fórmulas y macros de este sitio están configuradas para aplicarse sobre la celda A1. Algunas fórmulas se encuentran encerradas entre llaves {} debido a que son fórmulas matriciales. Estas llaves no deben introducirse tecleándolas, sino que se generan automáticamente al aceptar la fórmula pulsando Control+Shift+Enter al mismo tiempo. Las fórmulas de este sitio son compatibles con versiones de Microsoft Excel® 2010 o superiores. 

Salir de la versión móvil