Cambiare elementi in molti grafici contemporaneamente (Microsoft Excel)
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 è 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 intero gruppo 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 tali 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 modifichi 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 (3125) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: