Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen

Diagramme formatieren

Betrifft: Diagramme formatieren von: Thms Drng
Geschrieben am: 29.07.2014 10:16:06

Hallo Forum,

ich habe einige Diagramme, denen ich gernen allen auf einmal einen Titel, Achsenbeschriftungen etc. mit einem bestimmten Format zuführen möchte. Dafür habe ich ein Makro aufgezeichnet, das entsprechende Formatierungen beinhaltet. Ich bräuchte nun nur Hilfe, dass es so angepasst wird, dass es für alle Charts in dem Sheet durchläuft und nicht nur für den Chart, bei dem ich es aufgenommen habe. Geht das?

Hier die Aufzeichnung:

Sub Macro4()
'
' Macro4 Macro
'

'
    ActiveChart.SetElement (msoElementChartTitleAboveChart)
    ActiveChart.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis)
    ActiveChart.SetElement (msoElementPrimaryValueAxisTitleRotated)
    ActiveChart.ChartTitle.Select
    With Selection.Format.TextFrame2.TextRange.Font
        .NameComplexScript = "Arial Narrow"
        .Name = "Arial Narrow"
    End With
    Selection.Format.TextFrame2.TextRange.Font.Size = 24
    ActiveChart.Legend.Select
    With Selection.Format.TextFrame2.TextRange.Font
        .NameComplexScript = "Arial Narrow"
        .Name = "Arial Narrow"
    End With
    Selection.Format.TextFrame2.TextRange.Font.Size = 14
    ActiveChart.Axes("xlCategory").AxisTitle.Select
    With Selection.Format.TextFrame2.TextRange.Font
        .NameComplexScript = "Arial Narrow"
        .Name = "Arial Narrow"
    End With
    Selection.Format.TextFrame2.TextRange.Font.Size = 16
    ActiveChart.Axes("xlValue").AxisTitle.Select
    With Selection.Format.TextFrame2.TextRange.Font
        .NameComplexScript = "Arial Narrow"
        .Name = "Arial Narrow"
    End With
    Selection.Format.TextFrame2.TextRange.Font.Size = 16
    ActiveChart.Axes("xlValue").Select
    With Selection.Format.TextFrame2.TextRange.Font
        .NameComplexScript = "Arial Narrow"
        .Name = "Arial Narrow"
    End With
    Selection.Format.TextFrame2.TextRange.Font.Size = 14
    ActiveChart.Axes("xlCategory").Select
    With Selection.Format.TextFrame2.TextRange.Font
        .NameComplexScript = "Arial Narrow"
        .Name = "Arial Narrow"
    End With
    Selection.Format.TextFrame2.TextRange.Font.Size = 14
    ActiveChart.ChartTitle.Select
End Sub
Beste Grüße
Thomas

  

Betrifft: AW: Diagramme formatieren von: Nepumuk
Geschrieben am: 29.07.2014 11:00:32

Hallo,

teste mal:

Public Sub FormattingCharts()
    Dim objChartObject As ChartObject
    For Each objChartObject In ActiveSheet.ChartObjects
        With objChartObject.Chart
            .SetElement msoElementChartTitleAboveChart
            .SetElement msoElementPrimaryCategoryAxisTitleAdjacentToAxis
            .SetElement msoElementPrimaryValueAxisTitleRotated
            With .ChartTitle.Font
                .Name = "Arial Narrow"
                .Size = 24
            End With
            With .Axes
                With .Item(xlValue).AxisTitle.Font
                    .Name = "Arial Narrow"
                    .Size = 14
                End With
                With .Item(xlCategory).AxisTitle.Font
                    .Name = "Arial Narrow"
                    .Size = 14
                End With
            End With
        End With
    Next
End Sub

Gruß
Nepumuk


 

Beiträge aus den Excel-Beispielen zum Thema "Diagramme formatieren"