Compartir a través de


Cómo: Agregar controles Chart a hojas de cálculo

Puede agregar controles Chart en tiempo de diseño y en tiempo de ejecución a una hoja de cálculo de Microsoft Office Excel en personalizaciones en el nivel del documento. También puede agregar en tiempo de ejecución controles Chart a complementos de nivel de aplicación.

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 2007 y Excel 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.

En este tema se describen las tareas siguientes:

  • Agregar controles Chart en tiempo de diseño

  • Agregar controles Chart en tiempo de ejecución en un proyecto en el nivel del documento

  • Agregar controles Chart en tiempo de ejecución en un proyecto en el nivel de la aplicación

Para obtener más información sobre los controles Chart, vea Chart (Control).

Agregar controles Chart en tiempo de diseño

Puede agregar el control Chart a la hoja de cálculo de la misma manera que agregaría un gráfico desde la aplicación.

Nota

El control Chart no está disponible en el Cuadro de herramientas ni en la ventana Orígenes de datos.

Para agregar un control host Chart a una hoja de cálculo de Excel

  1. En la ficha Insertar, en el grupo Gráficos, haga clic en Columna, haga clic en una categoría de gráficos y, a continuación, haga clic en el tipo de gráfico que desea.

  2. En el cuadro de diálogo Insertar gráfico, haga clic en Aceptar.

  3. En la ficha Diseño, en el grupo Datos, haga clic en Seleccionar datos.

  4. En el cuadro de diálogo Seleccionar origen de datos, haga clic en el cuadro Rango de datos del gráfico y borre las selecciones predeterminadas.

  5. En la hoja Datos para el gráfico, seleccione el rango de celdas que contiene los datos para el gráfico (de la celda A5 a la D8).

  6. En el cuadro de diálogo Seleccionar origen de datos, haga clic en Aceptar.

Agregar controles Chart en tiempo de ejecución en un proyecto en el nivel del documento

Puede agregar el control Chart dinámicamente en tiempo de ejecución. Los gráficos creados de forma dinámica no se conservan en el documento como controles host cuando éste se cierra. Para obtener más información, vea Agregar controles a documentos de Office en tiempo de ejecución.

Para agregar un control Chart a una hoja de cálculo mediante programación

  • En el controlador de eventos Startup de Sheet1, inserte el código siguiente para agregar el control Chart.

    Dim employeeData As Microsoft.Office.Tools.Excel.Chart
    employeeData = Me.Controls.AddChart(25, 110, 200, 150, "employees")
    employeeData.ChartType = Excel.XlChartType.xl3DPie
    
    ' Gets the cells that define the data to be charted.
    Dim chartRange As Excel.Range = Me.Range("A5", "D8")
    employeeData.SetSourceData(chartRange)
    
    Microsoft.Office.Tools.Excel.Chart employeeData;
    employeeData = this.Controls.AddChart(25, 110, 200, 150, "employees");
    employeeData.ChartType = Excel.XlChartType.xl3DPie;
    
    // Gets the cells that define the data to be charted.
    Excel.Range chartRange = this.get_Range("A5", "D8");
    employeeData.SetSourceData(chartRange, missing);
    

Agregar controles Chart en tiempo de ejecución en un proyecto en el nivel de la aplicación

Puede agregar mediante programación un control Chart a cualquier hoja de cálculo abierta en un proyecto de complemento de nivel de aplicación. Para obtener más información, vea Ampliar documentos de Word y libros de Excel en complementos en el nivel de la aplicación en tiempo de ejecución.

Los controles Chart creados de forma dinámica no se conservan en la hoja de cálculo como controles host cuando ésta se cierra. Para obtener más información, vea Agregar controles a documentos de Office en tiempo de ejecución.

Para agregar un control Chart a una hoja de cálculo mediante programación

  • El código siguiente genera un elemento host de hoja de cálculo basado en la hoja de cálculo abierta y, a continuación, agrega un control Chart.

    Private Sub AddChart()
        Dim NativeWorksheet As Microsoft.Office.Interop.Excel.Worksheet =
            Globals.ThisAddIn.Application.ActiveWorkbook.ActiveSheet
    
        ' Use the following line of code in projects that target the .NET Framework 4.
        Dim worksheet As Microsoft.Office.Tools.Excel.Worksheet =
            Globals.Factory.GetVstoObject(NativeWorksheet)
    
        ' In projects that target the .NET Framework 3.5, use the following line of code.
        ' Dim worksheet = CType(Globals.ThisAddIn.Application.ActiveWorkbook.ActiveSheet,  _
        '    Excel.Worksheet).GetVstoObject()
    
        Dim cells As Excel.Range = worksheet.Range("A5", "D8")
        Dim chart As Chart = worksheet.Controls.AddChart(cells, "employees")
        chart.ChartType = Excel.XlChartType.xl3DPie
        chart.SetSourceData(cells, Type.Missing)
    
    End Sub
    
    private void AddChart()
    {
        // Use the following line of code in projects that target the .NET Framework 4.
        Worksheet worksheet = Globals.Factory.GetVstoObject(
            Globals.ThisAddIn.Application.ActiveWorkbook.ActiveSheet);
    
        // In projects that target the .NET Framework 3.5, use the following line of code.
        // Worksheet worksheet = 
        //     ((Excel.Worksheet)Globals.ThisAddIn.Application.ActiveWorkbook.ActiveSheet).GetVstoObject();
    
        Excel.Range cells = worksheet.Range["A5", "D8"];
        Chart chart = worksheet.Controls.AddChart(cells, "employees");
        chart.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xl3DPie;
        chart.SetSourceData(cells, missing);
    }       
    

Compilar el código

Este ejemplo tiene los siguientes requisitos:

  • Los datos a partir de los cuales se va generar un gráfico y que se van a almacenar en el rango de celdas A5 a D8 de la hoja de cálculo.

Vea también

Conceptos

Ampliar documentos de Word y libros de Excel en complementos en el nivel de la aplicación en tiempo de ejecución

Chart (Control)

Automatizar Excel usando objetos extendidos

Información general sobre elementos y controles Host

Elemento host ChartSheet

Limitaciones de programación de elementos y controles Host

Otros recursos

Controles en documentos de Office

Enlazar datos a controles en soluciones de Office