A continuación, veremos dos programas en Excel VBA . Un programa recorre todos los gráficos de una hoja y cambia cada gráfico a un gráfico circular. El otro programa cambia algunas propiedades del primer gráfico .
1. Cree algunos gráficos (o descargue el archivo de Excel).
Coloque un botón de comando en la hoja de trabajo y agregue las siguientes líneas de código:
1. Primero, necesitamos declarar un objeto ChartObject. El objeto ChartObject actúa como un contenedor para un objeto Chart. Llamamos al ChartObject cht pero puedes usar cualquier nombre.
Dim cht As ChartObject
2. La colección ChartObjects contiene todos los gráficos incrustados en una sola hoja. Queremos recorrer todos los gráficos de la primera hoja. Agregue lo siguiente para cada bucle siguiente.
For Each cht In Worksheets(1).ChartObjects
Next cht
3. El objeto Gráfico representa un gráfico en un libro. Agregue la siguiente línea de código al bucle For Each Next para cambiar cada gráfico a un gráfico circular.
cht.Chart.ChartType = xlPie
Nota: nuevamente, cht actúa como un contenedor para el objeto Chart. Usamos la propiedad ChartType para cambiar el tipo de gráfico. Usamos la constante xlPie incorporada para cambiar cada gráfico a un gráfico circular.
4. Resultado al hacer clic en el botón de comando en la hoja:
Ahora cambiaremos algunas propiedades del primer gráfico.
Coloque otro botón de comando en la hoja de trabajo y agregue las siguientes líneas de código:
5. La colección ChartObjects 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 referirnos a este gráfico como ActiveChart.
6. Agregue la siguiente línea de código para cambiar el título del gráfico.
ActiveChart.ChartTitle.Text = "Sales Report"
7. Agregue la siguiente línea de código para mover la leyenda a la parte inferior del gráfico:
ActiveChart.Legend.Position = xlBottom
8. Resultado al hacer clic en el botón de comando en la hoja:
8/8 Completado! Más información sobre libros y hojas>
Capítulo siguiente: Objeto de rango