Chris ha una cartella di lavoro che contiene molti piccoli grafici identici. Vuole cambiare alcuni degli attributi degli elementi in ogni grafico, come il colore o la dimensione del carattere, tutto in una volta.

Se ti ritrovi a utilizzare spesso un grafico “non predefinito” (il che significa modificare l’aspetto di alcuni elementi del grafico dopo la creazione del grafico), un ottimo approccio consiste nel creare un grafico personalizzato e salvare quel formato in Excel. È quindi possibile utilizzare il formato salvato per creare tutti i nuovi grafici, riducendo così al minimo la quantità di formattazione successiva che è necessario eseguire. Il modo in cui salvi i formati grafici personalizzati è stato trattato in altri numeri di ExcelTips.

I formati di grafici personalizzati potrebbero essere ottimi per il futuro, ma non aiuta se hai già un sacco di grafici in una cartella di lavoro esistente. In tal caso, la soluzione migliore è utilizzare una macro in grado di scorrere tutti i grafici in una cartella di lavoro e apportare una modifica desiderata. Devi solo decidere in anticipo quali elementi desideri modificare, quindi programmare la macro per modificare specificamente quegli elementi.

Ad esempio, la seguente macro modifica il colore del carattere e la dimensione delle etichette dell’asse Y. Passa attraverso tutti i grafici nella cartella di lavoro, sia i fogli che i grafici incorporati.

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

Come scritto qui, la macro cambia la dimensione del carattere in 20 e il colore in rosso. Se vuoi che la macro cambi altri elementi, tutto ciò che devi fare è cambiare le istruzioni With per riflettere gli elementi che vuoi cambiare, oppure puoi usare un ciclo For …​ Next per scorrere tutti gli elementi del grafico. La seguente macro presenta questa tecnica che modifica il colore di sfondo dei grafici in una cartella di lavoro.

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: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (7734) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.

Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Excel qui: