A continuación vamos a ver dos programas en Excel VBA. Un programa de bucle a través de todos los gráficos en una hoja y cambia cada gráfico a un gráfico circular.

El otro programa cambia algunas propiedades de la primera tabla.

  1. Crear algunas cartas (o descargar el archivo de Excel).

Programming Charts in Excel VBA

Coloque un botón de comando en la hoja de trabajo y añadir las líneas de código siguientes:

  1. En primer lugar, tenemos que declarar un objeto ChartObject. El objeto ChartObject actúa como un contenedor para un objeto de gráfico. Llamamos a la CHT ChartObject pero se puede utilizar cualquier nombre.

Dim cht As ChartObject
  1. Los ChartObjects colección contiene todos los gráficos incrustados en una sola hoja. Queremos bucle a través de todas las cartas sobre la primera hoja. Añadir lo siguiente para cada bucle siguiente.

For Each cht In Worksheets(1).ChartObjects

Next cht
  1. El objeto gráfico representa un gráfico de un libro. Agregue la siguiente línea de código para el bucle For Each Siguiente para cambiar cada gráfico a un gráfico circular.

cht.Chart.ChartType = xlPie

Nota: de nuevo, CHT actúa como un contenedor para el objeto gráfico. Usamos la propiedad ChartType para cambiar el tipo de gráfico. Usamos el xlPie constante integrada para cambiar cada gráfico a un gráfico circular.

  1. Resultado cuando hace clic en el botón de comando en la hoja:

Programming Charts Result

Ahora vamos a cambiar algunas propiedades de la primera tabla.

Colocar otro botón de comando

en la hoja de trabajo y añadir las siguientes líneas de código:

  1. Los ChartObjects colección contiene todos los gráficos incrustados en una sola hoja. Agregue la siguiente línea de código para activar el primer gráfico:

Worksheets(1).ChartObjects(1).Activate

Ahora podemos hacer referencia a esta tabla como la ActiveChart.

  1. Añadir la siguiente línea de código para cambiar el título del gráfico.

ActiveChart.ChartTitle.Text = "Sales Report"
  1. Agregue la siguiente línea de código para mover la leyenda a la parte inferior del gráfico:

ActiveChart.Legend.Position = xlBottom
  1. Resultado cuando hace clic en el botón de comando en la hoja:

Programming Charts Result