Compartir a través de


Cómo: Copiar hojas de cálculo mediante programación

Puede crear una copia de una hoja de cálculo e insertarla antes o después de otra hoja existente en el libro.Si no especifica dónde insertarla, Excel crea un nuevo libro para la nueva hoja.

Se aplica a: La información de este tema se aplica a los proyectos de nivel de documento y los proyectos de nivel de aplicación para Excel 2013 y Excel 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.

[!NOTA]

Tanto si copia la hoja de cálculo mediante programación como si el usuario final copia la hoja de cálculo manualmente, no hay ningún código detrás de la nueva hoja de cálculo y los controles de la nueva hoja de cálculo no funcionan.Esto se debe a que la hoja de cálculo recientemente copiada es un objeto Microsoft.Office.Interop.Excel.Worksheet y no un elemento host de Microsoft.Office.Tools.Excel.Worksheet.Los controles de formularios Windows Forms y los controles host sólo se pueden agregar a elementos host.Para obtener más información, vea Limitaciones de programación de elementos y controles Host.

Para agregar una hoja de cálculo copiada a un libro en una personalización en el nivel del documento

  • Utilice el método Copy para copiar la primera hoja de cálculo del libro actual y colocarla después de la tercera hoja.

    Globals.Sheet1.Copy(After:=Globals.ThisWorkbook.Sheets(3))
    
    Globals.Sheet1.Copy(Globals.ThisWorkbook.Sheets[3]);
    

Para agregar una hoja de cálculo copiada a un libro en un complemento en el nivel de la aplicación

  • Utilice el método Copy para copiar la primera hoja de cálculo del libro actual y colocarla después de la tercera hoja.

    Dim worksheet1 As Excel.Worksheet = CType(Application.ActiveWorkbook.Worksheets(1),  _
    Excel.Worksheet)
    Dim worksheet3 As Excel.Worksheet = CType(Application.ActiveWorkbook.Worksheets(3),  _
    Excel.Worksheet)
    worksheet1.Copy(After:=worksheet3)
    
    Excel.Worksheet worksheet1 = ((Excel.Worksheet)Application.ActiveWorkbook.Worksheets[1]);
    Excel.Worksheet worksheet3 = ((Excel.Worksheet)Application.ActiveWorkbook.Worksheets[3]);
    worksheet1.Copy(worksheet3);
    

Vea también

Tareas

Cómo: Agregar nuevas hojas de cálculo a libros mediante programación

Cómo: Eliminar hojas de cálculo de libros mediante programación

Cómo: Seleccionar hojas de cálculo mediante programación

Conceptos

Trabajar con hojas de cálculo

Información general sobre elementos y controles Host

Automatizar Excel usando objetos extendidos

Acceso global a objetos en los proyectos de Office

Limitaciones de programación de elementos y controles Host

Parámetros opcionales en las soluciones de Office