Compartir a través de


Agregar controles ListObject a hojas de cálculo

Puede agregar controles ListObject a una hoja de cálculo de Microsoft Office Excel en tiempo de diseño y en tiempo de ejecución, en los proyectos de nivel de documento.

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

También puede agregar controles ListObject en tiempo de ejecución a los proyectos de complementos VSTO.

En este tema se describen las tareas siguientes:

Agregar controles ListObject en tiempo de diseño

Existen varias maneras de agregar controles ListObject a una hoja de cálculo en un proyecto de nivel de documento en tiempo de diseño: desde Excel, desde el Cuadro de Herramientasde Visual Studio y desde la ventana Orígenes de datos .

Nota:

Es posible que tu equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en las siguientes instrucciones. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Personalizar el IDE.

Usar la cinta de opciones en Excel

  1. En la ficha Insertar , del grupo Tablas , haga clic en Tabla.

  2. Seleccione las celdas que desea incluir en la lista y haga clic en Aceptar.

Usar el cuadro de herramientas

  1. Desde la ficha Controles de Excel del Cuadro de herramientas, arrastre ListObject hacia la hoja de cálculo.

    Aparecerá el cuadro de diálogo Agregar control ListObject .

  2. Seleccione las celdas que desea incluir en la lista y haga clic en Aceptar.

    Si no desea conservar el nombre predeterminado, puede cambiarlo en la ventana Propiedades .

Usar la ventana Orígenes de datos

  1. Abra la ventana Orígenes de datos y cree un origen de datos para su proyecto. Para más información, consulte Adición de una nueva conexión.

  2. Arrastre una tabla desde la ventana Orígenes de datos hasta la hoja de cálculo.

    Un control ListObject enlazado a los datos se agrega a la hoja de cálculo. Para obtener más información, consulte Enlace de datos y Formularios Windows Forms.

Agregar controles ListObject en tiempo de ejecución en un proyecto de nivel de documento

Puede agregar el control ListObject dinámicamente en tiempo de ejecución. Esto le permite crear los controles host en respuesta a eventos. Los objetos de lista creados de forma dinámica no se conservan en la hoja de cálculo como controles host cuando se cierra la hoja de cálculo. Para obtener más información, vea Agregar controles a documentos de Office en tiempo de ejecución.

Agregar un control ListObject a una hoja de cálculo mediante programación

  1. En el controlador de eventos Startup de Sheet1, escriba el código siguiente para agregar un control ListObject de las celdas A1 hasta la A4.

    Microsoft.Office.Tools.Excel.ListObject employeeData;
    employeeData = this.Controls.AddListObject(this.get_Range("$A$1:$D$4"), "employees");
    

Agregar controles ListObject en tiempo de ejecución en un proyecto de complemento de VSTO

Puede agregar un control ListObject mediante programación a cualquier hoja de cálculo abierta de un proyecto de complemento de VSTO. Los objetos de lista creados de forma dinámica no se conservan en la hoja de cálculo como controles host cuando esta se guarda y, a continuación, se cierra. Para obtener más información, vea Extender documentos de Word y libros de Excel en complementos de VSTO en tiempo de ejecución.

Agregar un control ListObject a una hoja de cálculo mediante programación

  1. El siguiente código crea un elemento host de hoja de cálculo que se basa en la hoja de cálculo abierta; a continuación, agrega un control ListObject de las celdas A1 hasta la A4.

    private void AddListObject()
    {
        Worksheet worksheet = Globals.Factory.GetVstoObject(
            Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets[1]);
    
        Microsoft.Office.Tools.Excel.ListObject list1;
        Excel.Range cell = worksheet.Range["$A$1:$D$4"];
        list1 = worksheet.Controls.AddListObject(cell, "list1");
    }