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:
TUTORIALSalvo 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.
