Excel Avanzado

Un blog para compartir los tips de Excel Avanzado que todos necesitamos!

Excel Avanzado
Tarea II.2

Algunas formas de Copiar Hojas en VBA

| 1 Comment

COPIAR HOJAS EN VBA

El objeto Workbook representa un libro de Excel y el objeto Worksheet representa una hoja de un libro de Excel. Asimismo, un libro de Excel puede tener más de una hoja lo cual significa que un objeto Workbook puede contener más de un objeto Worksheet.

Podemos utilizar Microsoft Visual Basic para Aplicaciones de código (VBA) para copiar o mover hojas dentro de un libro o entre libros. Esto es especialmente útil si se desea mover o copiar el número de hojas o si queremos realizar varias copias de una hoja..

1    Copiar en el mismo libro

  • Para realizar una copia dentro del mismo libro de Excel se puede utilizar la siguiente instrucción:
    Algunas formas de Copiar Hojas en VBA, objetos y definiciones

Algunas formas de Copiar Hojas en VBA, objetos y definiciones

Por lo tanto al ejecutar la macro se copiará la hoja llamada “Tarea1” y la colocará justo después de la hoja llamada “Tarea2”.  El parámetro “After” es el encargado de indicar que la copia se colocará después de la hoja Final.

  •  Si quisiéramos colocar la “hojainicial”  antes de la “hojaFinal” utilizaríamos el parámetro “Before”:

 Worksheets(“Tarea1″).Copy Before:=Worksheets(“Tarea2″)

  •  Si queremos colocar la copia de la “hojainicial”  hasta el final de todas las hojas podemos hacer uso de la propiedad “Sheets.Count” que nos ayuda a saber el número total de hojas de un libro.

Worksheets(“Tarea1″).Copy After:=Sheets(Sheets.Count)

  • También es posible utilizar la posición de la Hoja dentro de la colección Worksheets. Por ejemplo, si la hoja llamada “hojainicial” es la segunda hoja dentro del libro, se puede colocar:

Worksheets(2).Copy After:=Sheets(Sheets.Count)

De esta manera se realizará siempre la copia de la segunda hoja del libro sin importar su nombre.

2    Copiar a un libro diferente


Si deseamos hacer la copia de una hoja hacia un libro diferente se debe especificar tanto el libro origen como el libro destino. Por ejemplo, queremos copiar la primera hoja del Libro1 y colocarla en el Libro2 después de la tercera hoja.

Workbooks(“Libro1″).Worksheets(1).Copy After:=Workbooks(“Libro2″).Sheets(3)

Es importante que ambos libros estén abiertos para que se pueda realizar la copia adecuadamente.

 **Realizado por Paola Vargas Vejarano**

One Comment

  1. Como puedo realizar una copia de una hoja de un libro existente a un libro NUEVO por medio de macros??? gracias!!!

Deja un comentario

Required fields are marked *.


Excel Avanzado located at , Lima, Perú . Reviewed by usuarios rated: 4.7 / 5