銀河鉄道

【VBA】グラフ設定を動的に変更する

サムネイル
グラフ設定変更する

[前提]

  • ベースは設定済
  • 折れ線グラフの数は不定
  • 2軸にするデータは名前で判断

グラフを設定する標準モジュール

for eachで名前で判断し、1つ1つ設定する

Public Sub SettingGraph()
    'グラフ設定
    Dim IsSecondary As Boolean: IsSecondary = False
    With wb
        With Worksheets("グラフ")
            .Activate
            
            With .ChartObjects(1).Chart
                For Each a In .SeriesCollection
                    With a
                        Select Case .name
                            Case "項目名1"
                                .ChartType = xlLine '折れ線グラフ
                                .Border.Color = RGB(237, 125, 49)

                            Case "項目名2"
                                .ChartType = xlLine
                                .Border.Color = RGB(0, 176, 80)
                                .AxisGroup = 2 '2軸にする
                                IsSecondary = True

                            Case Else
                                .ChartType = xlColumnClustered '集合縦棒
                                .Interior.Color = RGB(68, 114, 196)
                                .Border.LineStyle = xlLineStyleNone '枠線なし
                        End Select
                    End With
                Next

                '2軸がある場合
                If IsSecondary Then
                    With .Axes(xlValue, xlSecondary)
                        .MinimumScale = 0.7 '最小値
                        .MaximumScale = 1# '最大値
                        .TickLabels.NumberFormatLocal = "0%" '表示形式
                    End With
                End If
            End With
        End With
        .Save
    End With
End Sub

著者

author
月うさぎ

編集後記:
この記事の内容がベストではないかもしれません。

記事一覧