Método Worksheet.Copy (Excel)

Copia la hoja en otra ubicación del libro actual o en un nuevo libro.

Sintaxis

expresión. Copiar (Antes, Después)

Expresión Variable que representa un objeto Worksheet .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Before Opcional Variant La hoja delante de la cual se colocará la hoja copiada. No se puede especificar Before si se especifica After.
After Opcional Variant La hoja detrás de la cual se colocará la hoja copiada. No se puede especificar After si se especifica Before.

Comentarios

Si no especifica Antes o Después, Microsoft Excel crea un nuevo libro que contiene el objeto Worksheet copiado. El libro recién creado contiene la propiedad Application.ActiveWorkbook y contiene una sola hoja de cálculo. La hoja de cálculo única conserva las propiedades Name y CodeName de la hoja de cálculo de origen. Si la hoja de cálculo copiada contenía una hoja de código de hoja de cálculo en un proyecto VBA, también se lleva al nuevo libro.

Una selección de matriz de varias hojas de cálculo se puede copiar en un nuevo objeto Workbook en blanco de forma similar.

El origen y el destino deben estar en la misma instancia de Excel.Application; de lo contrario, generará un error en tiempo de ejecución "1004": no se admite dicha interfaz, si se usó algo parecido Sheet1.Copy objWb.Sheets(1) o un error en tiempo de ejecución "1004": error del método Copy de la clase Worksheet, si se usó algo parecido ThisWorkbook.Worksheets("Sheet1").Copy objWb.Sheets(1) .

Ejemplo:

Este ejemplo copia Sheet1, colocando la copia detrás de Sheet3.

Worksheets("Sheet1").Copy After:=Worksheets("Sheet3")

En este ejemplo primero se copia Sheet1 en un nuevo libro en blanco y, a continuación, se guarda y se cierra el nuevo libro.

Worksheets("Sheet1").Copy
With ActiveWorkbook 
     .SaveAs Filename:=Environ("TEMP") & "\New1.xlsx", FileFormat:=xlOpenXMLWorkbook
     .Close SaveChanges:=False
End With

En este ejemplo se copian las hojas de cálculo Sheet1, Sheet2 y Sheet4 en un nuevo libro en blanco y, a continuación, se guarda y se cierra el nuevo libro.

Worksheets(Array("Sheet1", "Sheet2", "Sheet4")).Copy
With ActiveWorkbook
     .SaveAs Filename:=Environ("TEMP") & "\New3.xlsx", FileFormat:=xlOpenXMLWorkbook 
     .Close SaveChanges:=False 
End With 

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.