Come modificare gli elementi di molti grafici contemporaneamente

Christian ha una cartella di lavoro che contiene molti grafici piccoli e identici. Vuole modificare 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. Puoi quindi utilizzare il formato salvato per creare tutti i tuoi nuovi grafici, riducendo così al minimo la quantità di formattazione successiva che dovrai eseguire.

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

Ad esempio, la macro seguente modifica il colore del carattere e la dimensione delle etichette dell’asse Y. Passa in rassegna tutti i grafici della cartella di lavoro, sia i fogli grafici 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 già scritto, la macro modifica la dimensione del carattere in 20 e il colore in rosso. Se desideri che la macro modifichi altri elementi, tutto ciò che devi fare è modificare le istruzioni With per riflettere gli elementi che desideri modificare oppure potresti utilizzare un ciclo For…Next per scorrere tutti gli elementi del grafico. La macro seguente mostra questa tecnica, modificando 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
        'Ogni coppia di righe di codice indica le modifiche desiderate
        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
            'Ogni coppia di righe di codice indica le modifiche desiderate
            ActiveChart.ChartArea.Select
            Selection.Interior.ColorIndex = NewChartAreaColor
        Next K
    Next J
End Sub

 

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Ti è stato utile?