Chris tiene un libro de trabajo que contiene muchos gráficos pequeños e idénticos. Quiere cambiar algunos de los atributos de los elementos de cada gráfico, como el color o el tamaño de fuente, todo al mismo tiempo.

Si se encuentra utilizando un gráfico «no predeterminado» con frecuencia (lo que significa cambiar la apariencia de ciertos elementos del gráfico después de que se crea el gráfico), entonces un excelente enfoque es crear un gráfico personalizado y guardar ese formato en Excel. Luego puede usar el formato guardado para crear todos sus nuevos gráficos, minimizando así la cantidad de formateo posterior que necesita hacer. La forma en que se guardan los formatos de gráficos personalizados se ha tratado en otros números de ExcelTips.

Los formatos de gráficos personalizados pueden ser excelentes para el futuro, pero no ayuda si ya tiene un montón de gráficos en un libro de trabajo existente. En ese caso, la mejor solución es utilizar una macro que pueda recorrer todos los gráficos de un libro de trabajo y realizar el cambio deseado. Solo necesita decidir por adelantado qué elementos desea cambiar y luego programar la macro para cambiar específicamente esos elementos.

Por ejemplo, la siguiente macro cambia el color de fuente y el tamaño de las etiquetas del eje Y. Recorre todos los gráficos del libro de trabajo, tanto hojas como gráficos incrustados.

Sub ChangeAllCharts1()

Dim cht As Chart     Dim sht     Dim ChtObj As ChartObject

For Each cht In ActiveWorkbook.Charts         With cht.Axes(xlValue).TickLabels.Font             .Size = 20             .Color = vbRed         End With     Next

For Each sht In ActiveWorkbook.Sheets         For Each ChtObj In sht.ChartObjects             With ChtObj.Chart.Axes(xlValue).TickLabels.Font                 .Size = 20                 .Color = vbRed             End With         Next     Next End Sub

Como está escrito aquí, la macro cambia el tamaño de fuente a 20 y el color a rojo. Si desea que la macro cambie otros elementos, todo lo que necesita hacer es cambiar las instrucciones With para reflejar los elementos que desea cambiar, o puede usar un bucle For …​ Next para recorrer todos los elementos del gráfico. La siguiente macro muestra esta técnica, cambiando el color de fondo de los gráficos en un libro.

Sub ChangeAllCharts2()

On Error Resume Next     NewChartAreaColor = 34

For J = 1 To ActiveWorkbook.Charts.Count         ActiveWorkbook.Charts(J).Select

'The pairs of line code indicate desired changes         ActiveChart.ChartArea.Select         Selection.Interior.ColorIndex = NewChartAreaColor     Next J

For J = 1 To ActiveWorkbook.Sheets.Count         For K = 1 To Sheets(J).ChartObjects.Count             Sheets(J).Select             Sheets(J).ChartObjects(K).Activate

'The pairs of line code indicate desired changes             ActiveChart.ChartArea.Select             Selection.Interior.ColorIndex = NewChartAreaColor         Next K     Next J End Sub

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (3125) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Changing_Elements_in_Lots_of_Charts_at_One_Time [Cambio de elementos en muchos gráficos a la vez].