Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Crear un nuevo libro para cada hoja

| 2 comentarios

Esta macro es empleada para poder crear nuevos libros para cada hoja del libro en el que se trabaja. Teniendo en cuenta que estos se guardarán en la dirección del libro principal. Lo cual nos resulta muy útil ya que te ahorra mucho tiempo!

A continuación detallaré los pasos a seguir:

En primer lugar, se crean dos variables objeto: la primera "ws" que sirve como contenedor de memoria para cada hoja de cálculo, y la segunda "wb" para el nuevo libro de trabajo creado.

En segundo lugar, la macro comienza a trabajar a través de las hojas. El uso de la ThisWorkbook objeto asegura que la hoja activa que se está copiando es del libro del código.

En tercer lugar, se procede a la creación y guardado  del  nuevo libro . El cual se encuentra en la misma dirección que el libro original y tomará el mismo nombre que éste.

En cuarto lugar, se hacen copias de la hoja activa.

Y por último, se procede a las siguientes hojas del libro actual hasta terminar con el proceso.

Ahora, veamos el código en términos de la macro:

Sub mimacro()
Dim ws As Worksheet
Dim wb As Workbook
For Each ws In ThisWorkbook.Worksheets
Set wb = Workbooks.Add
wb.SaveAs ThisWorkbook.Path & “” & ws.Name
ws.Copy Before:=wb.Worksheets(1)
wb.Close SaveChanges:=True
Next ws
End Sub

image

(Para mayor visualización de la imagen, hacer click en la misma)

 

Como vemos, las hojas creadas como libro se han guardado en la dirección del libro original.

image1

(Para mayor visualización de la imagen, hacer click en la misma)

Y con esto se finaliza el proceso.

Melissa Campos Gómez

2 comentarios

  1. Mil gracias por la información! me fue de gran utilidad! Lo único que no pude lograr es que los archivos se creen en una carpeta en especial. se crean en el desktop. Existe una manera de designar otra carpeta? El archivo de la macro se encuentra ya en una carpeta diferente. gracias!

    • A su vez necesitaría que cada archivo se cree con una hoja más en comun en todos los archivos, una carátula. eso es posible? Gracias!

Deja una respuesta

Los campos requeridos estan marcados con *.