【VBA】グラフ設定を動的に変更する
作成日:2022-09-11
更新日:2022-11-06

[前提]
- ベースは設定済
- 折れ線グラフの数は不定
- 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
2022-09-11
編集後記:
この記事の内容がベストではないかもしれません。
記事一覧
-

[VBA]copyfile 【VBA】ブックを複製する|fso.CopyFile -

[VBA]開いているブックからファイルを探す 【VBA】開いている全ブックから対象ブックをセット|InStr ファイル名の一部で判定 -

[VBA]Resizerows and columns 【VBA】Resize changes the size of a cell range|範囲のリサイズ -

[VBA]get fso objectfrom path 【VBA】パスからfsoオブジェクトを取得する|fso.GetFolder/.GetFile -

[VBA]SaveAs名前を付けて保存 【VBA】名前を付けて保存|SaveAs -

[VBA]Paste 2D Arrayresize once 【VBA】二次元配列をシートに貼り付け【範囲をリサイズする】