Está en la página 1de 2

27/2/2018 Copiar hojas con VBA - Excel Total

INICIO FUNCIONES ACERCA

Copiar hojas con VBA


El objeto Workbook en VBA contiene una colección llamada Worksheets que
representa todas las hojas de un libro. Esta colección hace uso del método Copy para
realizar la copia de una hoja.

Copiar en el mismo libro


Para realizar una copia dentro del mismo libro de Excel se puede utilizar la siguiente
instrucción:

Worksheets("Origen").Copy After:=Worksheets("Final")

La sentencia copiará la hoja llamada Origen y la colocará justo después de la hoja


llamada Final. 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 copia antes de la hoja Final
utilizaríamos el parámetro Before de la siguiente manera:

Worksheets("Origen").Copy Before:=Worksheets("Final")

Si queremos colocar la copia 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("Origen").Copy After:=Sheets(Sheets.Count)

En estos ejemplos he utilizado el nombre de las hojas, pero también es posible utilizar
su posición dentro de la colección Worksheets. Por ejemplo, si la hoja llamada “Origen”
es la segunda hoja dentro del libro puedo colocar la instrucción de la siguiente manera:

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.

Copiar a un libro diferente


https://exceltotal.com/copiar-hojas-con-vba/ 1/4
27/2/2018 Copiar hojas con VBA - Excel Total

Si deseas hacer la copia de una hoja hacia un libro diferente la instrucción cambia un
poco ya que se debe especificar tanto el libro origen como el libro destino. En este
ejemplo haré la copia de la primera hoja del Libro1 y la colocaré en el Libro2 después
de la tercera hoja.

Workbooks("Libro1.xlsx").Worksheets(1).Copy
After:=Workbooks("Libro2.xlsx").Sheets(3)

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

Artículos relacionados
Programando en VBA
Mostrar la ficha Programador

Publicado por Moisés Ortíz.

https://exceltotal.com/copiar-hojas-con-vba/ 2/4