Compartir a través de


Tutorial: Actualizar un gráfico en una hoja de cálculo utilizando botones de opción

Actualización: noviembre 2007

Se aplica a

La información de este tema sólo se aplica a los proyectos y versiones especificados de Visual Studio Tools para Office de Microsoft Office.

Tipo de proyecto

  • Proyectos de nivel de documento

Versión de Microsoft Office

  • Excel 2003

  • Excel 2007

Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto.

En este tutorial se muestran los aspectos básicos del uso de los botones de opción en una hoja de cálculo de Microsoft Office Excel para proporcionar al usuario una forma de cambiar entre opciones rápidamente. En este caso, las opciones cambian el estilo de un gráfico.

Para consultar el resultado como un ejemplo finalizado, vea Ejemplo Excel Controls.

En este tutorial se muestran las siguientes tareas:

  • Agregar un grupo de botones de opción a una hoja de cálculo.

  • Cambiar el estilo de gráfico cuando se selecciona una opción.

Nota:

Es posible que su 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 tenga y la configuración que esté utilizando determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.

Requisitos previos

Necesita los componentes siguientes para completar este tutorial:

  • Visual Studio Tools para Office (componente opcional de Visual Studio 2008 Professional y Visual Studio Team System).

  • Microsoft Office Excel 2003 o Microsoft Office Excel 2007.

Agregar un gráfico a una hoja de cálculo

Puede crear un proyecto de libro de Excel que personalice un libro existente. En este tutorial, agregará un gráfico a un libro y, a continuación, utilizará este libro en una nueva solución de Excel. El origen de datos de este tutorial es una hoja de cálculo denominada Datos para el gráfico.

Para agregar los datos

  1. Abra Excel 2003 o Excel 2007.

  2. Haga clic con el botón secundario en la ficha Hoja3 y, a continuación, haga clic en Cambiar nombre en el menú de acceso directo.

  3. Cambie el nombre de la hoja a Datos para el gráfico.

  4. Agregue los datos siguientes a Datos para el gráfico con la celda A4 como esquina superior izquierda y la celda E8 como esquina inferior derecha.

    Q1

    Q2

    Q3

    Q4

    Oeste

    500

    550

    550

    600

    Este

    600

    625

    675

    700

    Norte

    450

    470

    490

    510

    Sur

    800

    750

    775

    790

A continuación, agregue un gráfico a la primera hoja de cálculo para mostrar los datos. Los procedimientos son diferentes para Excel 2003 y Excel 2007.

Para agregar un gráfico en Excel 2003

  1. En el menú Insertar, haga clic en Gráfico.

    Se abre el Asistente para gráficos.

  2. Haga clic en Siguiente, manteniendo la selección de los valores predeterminados.

  3. Haga clic en el cuadro Rango de datos y borre las selecciones predeterminadas.

  4. En la hoja Datos para el gráfico, seleccione el bloque de celdas que contiene los números, desde A4 en la esquina superior izquierda hasta E8 en la esquina inferior derecha.

  5. Haga clic en Siguiente y, a continuación, vuelva a hacer clic en Siguiente para aceptar todos los valores predeterminados del paso 3.

  6. En el paso 4, asegúrese de que esté seleccionada la opción Como objeto en:.

  7. En la lista Como objeto en:, seleccione Sheet1.

  8. Haga clic en Finalizar.

  9. Cambie de posición el gráfico para que la esquina superior derecha se alinee con la celda E2.

  10. Guarde el archivo en la unidad C y denomínelo ExcelChart.xls.

  11. Salga de Excel.

Para agregar un gráfico en Excel 2007

  1. En el grupo Gráficos de la ficha Insertar, haga clic en Columna y después en Todos los tipos de gráfico.

  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 bloque de celdas que contiene los números, desde A4 en la esquina superior izquierda hasta E8 en la esquina inferior derecha.

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

  7. Cambie de posición el gráfico para que la esquina superior derecha se alinee con la celda E2.

  8. Guarde el archivo en la unidad C y denomínelo ExcelChart.xls.

  9. Salga de Excel.

Crear un proyecto nuevo

En este paso, creará un proyecto de libro de Excel basado en el libro ExcelChart.

Para crear un nuevo proyecto

  1. Cree un proyecto de libro de Excel con el nombre Mi gráfico de Excel. En el asistente, seleccione Copiar un documento existente.

    Para obtener más información, vea Cómo: Crear proyectos de Visual Studio para Office.

  2. Haga clic en el botón Examinar y localice el libro que ha creado anteriormente en este tutorial.

  3. Haga clic en Aceptar.

    Visual Studio abre el nuevo libro de Excel en el diseñador y agrega el proyecto Mi gráfico de Excel al Explorador de soluciones.

Establecer las propiedades del gráfico

Cuando se crea un nuevo proyecto de libro de Excel que utiliza un libro existente, se crean automáticamente controles host para todos los rangos con nombre, los objetos de lista y los gráficos del libro. Puede cambiar el nombre del control Chart utilizando la ventana Propiedades.

Para cambiar el nombre del control Chart

  • Seleccione el control Chart en el diseñador y cambie las propiedades siguientes en la ventana Propiedades.

    Propiedad

    Valor

    Nombre

    dataChart

    HasLegend

    false

Agregar controles

Esta hoja de cálculo utiliza botones de opción para proporcionar a los usuarios una forma de cambiar rápidamente el estilo de gráfico. Sin embargo, los botones de opción deben ser exclusivos: cuando se selecciona un botón no se puede seleccionar ningún otro botón del grupo al mismo tiempo. Este comportamiento no se adquiere de forma predeterminada al agregar varios botones de opción a una hoja de cálculo.

Una forma de agregar este comportamiento consiste en agrupar los botones de opción en un control de usuario, escribir código subyacente en el control de usuario y, a continuación, agregar el control de usuario a la hoja de cálculo.

Para agregar un control de usuario

  1. Seleccione el proyecto Mi gráfico de Excel en el Explorador de soluciones.

  2. En el menú Proyecto, haga clic en Agregar nuevo elemento.

  3. En el cuadro de diálogo Agregar nuevo elemento, haga clic en Control de usuario, asigne el nombre ChartOptions al control y haga clic en Agregar.

Para agregar botones de opción al control de usuario

  1. Si el control de usuario no está visible en el diseñador, haga doble clic en ChartOptions en el Explorador de soluciones.

  2. Desde la ficha Controles comunes del Cuadro de herramientas, arrastre un control RadioButton hasta el control de usuario y cambie las siguientes propiedades.

    Propiedad

    Valor

    Nombre

    columnChart

    Texto

    Gráfico de columnas

  3. Agregue un segundo botón de opción al control de usuario y cambie las propiedades siguientes.

    Propiedad

    Valor

    Nombre

    barChart

    Texto

    Gráfico de barras

  4. Agregue un tercer botón de opción al control de usuario y cambie las propiedades siguientes.

    Propiedad

    Valor

    Nombre

    lineChart

    Texto

    Gráfico de líneas

  5. Agregue un cuarto botón de opción al control de usuario y cambie las propiedades siguientes.

    Propiedad

    Valor

    Nombre

    areaBlockChart

    Texto

    Gráfico de bloques de áreas

A continuación, escriba el código para actualizar el gráfico al hacer clic en un botón de opción.

Cambiar el estilo del gráfico cuando se selecciona un botón de opción

Ahora puede agregar el código para cambiar el estilo de gráfico. Para ello, cree un evento público en el control de usuario, agregue una propiedad para establecer el tipo de selección y cree un controlador de eventos para el evento CheckedChanged de cada uno de los botones de opción.

Para crear un evento y una propiedad en un control de usuario

  1. En el Explorador de soluciones, haga clic con el botón secundario en el control de usuario y, a continuación, haga clic en Ver código.

  2. Agregue código a la clase ChartOptions para crear un evento SelectionChanged y la propiedad Selection.

    Public Event SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
    
    Private selectedType As Microsoft.Office.Interop.Excel.XlChartType = _
        Microsoft.Office.Interop.Excel.XlChartType.xlColumnClustered
    
    Public Property Selection() As Microsoft.Office.Interop.Excel.XlChartType
        Get
            Return Me.selectedType
        End Get
        Set(ByVal value As Microsoft.Office.Interop.Excel.XlChartType)
            Me.selectedType = value
        End Set
    End Property
    
    public event EventHandler SelectionChanged;
    
    private Microsoft.Office.Interop.Excel.XlChartType selectedType = 
        Microsoft.Office.Interop.Excel.XlChartType.xlColumnClustered;
    
    public Microsoft.Office.Interop.Excel.XlChartType Selection
    {
        get
        {
            return this.selectedType;
        }
        set
        {
            this.selectedType = value;
        }
    }
    

Para controlar el evento CheckedChanged de los botones de opción

  1. Establezca el tipo de gráfico en el controlador de eventos CheckedChanged del botón de opción areaBlockChart y, a continuación, provoque el evento.

    Private Sub areaBlockChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles areaBlockChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
    
            Me.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlAreaStacked
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void areaBlockChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlAreaStacked;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  2. Establezca el tipo de gráfico en el controlador de eventos CheckedChanged del botón de opción barChart.

    Private Sub barChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles barChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
    
            Me.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlBarClustered
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void barChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlBarClustered;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  3. Establezca el tipo de gráfico en el controlador de eventos CheckedChanged del botón de opción columnChart.

    Private Sub columnChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles columnChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
    
            Me.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlColumnClustered
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void columnChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlColumnClustered;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  4. Establezca el tipo de gráfico en el controlador de eventos CheckedChanged del botón de opción lineChart.

    Private Sub lineChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles lineChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
    
            Me.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlLineMarkers
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void lineChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlLineMarkers;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  5. En C#, debe agregar controladores de eventos para los botones de opción. Puede agregar el código al constructor ChartOptions, bajo la llamada a InitializeComponent. Para obtener información acerca de cómo crear controladores de eventos, vea Cómo: Crear controladores de eventos en Visual Studio Tools para Office.

    public ChartOptions()
    {
        InitializeComponent();
    
        areaBlockChart.CheckedChanged += new EventHandler(areaBlockChart_CheckedChanged);
        barChart.CheckedChanged += new EventHandler(barChart_CheckedChanged);
        columnChart.CheckedChanged += new EventHandler(columnChart_CheckedChanged);
        lineChart.CheckedChanged += new EventHandler(lineChart_CheckedChanged);
    }
    

Agregar el control de usuario a la hoja de cálculo

Cuando se genera la solución, el nuevo control de usuario se agrega automáticamente al Cuadro de herramientas. Puede arrastrar el control desde el Cuadro de herramientas a la hoja de cálculo.

Para agregar el control de usuario a la hoja de cálculo

  1. En el menú Generar, haga clic en Generar solución.

    El control de usuario ChartOptions se agrega al Cuadro de herramientas.

  2. En el Explorador de soluciones, haga clic con el botón secundario en Sheet1.vb o Sheet1.cs y, a continuación, haga clic en Ver diseñador.

  3. Arrastre el control ChartOptions desde el Cuadro de herramientas hasta la hoja de cálculo.

    Se agregará al proyecto un nuevo control denominado my_Excel_Chart_ChartOptions1.

  4. Cambie el nombre del control por ChartOptions1.

Cambiar el tipo de gráfico

Para cambiar el tipo de gráfico, cree un controlador de eventos que establezca el estilo según la opción seleccionada en el control de usuario.

Para cambiar el tipo de gráfico que se muestra en la hoja de cálculo

  1. Agregue el siguiente controlador de eventos a la clase Sheet1.

    Private Sub ChartOptions1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles ChartOptions1.SelectionChanged
    
        Try
            dataChart.ChartType = Me.ChartOptions1.Selection
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
    
    private void ChartOptions1_SelectionChanged(object sender, EventArgs e)
    {
        try
        {
            dataChart.ChartType = this.ChartOptions1.Selection;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }
    
  2. En C#, debe agregar un controlador de eventos para el control usuario al evento Startup como se muestra a continuación. Para obtener información acerca de cómo crear controladores de eventos, vea Cómo: Crear controladores de eventos en Visual Studio Tools para Office.

    this.ChartOptions1.SelectionChanged += new EventHandler(ChartOptions1_SelectionChanged);
    

Probar la aplicación

Ahora puede probar el libro para comprobar que el estilo aplicado al gráfico al seleccionar un botón de opción es correcto.

Para probar el libro

  1. Presione F5 para ejecutar el proyecto.

  2. Seleccione distintos botones de opción.

  3. Confirme que el estilo de gráfico cambia y coincide con la selección.

Pasos siguientes

En este tutorial se muestran los aspectos básicos del uso de los botones de opción y los estilos de gráfico en las hojas de cálculo. Éstas son algunas de las tareas que pueden venir a continuación:

Vea también

Conceptos

Tutoriales para Excel