Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAで棒グラフの太さを変更する

VBAで棒グラフの太さを変更する

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2105 ビルド14026.20246 Microsoft Store)

VBAで棒グラフの太さを変更する

Excel VBAを使って棒グラフの太さを変更したいというニーズが、割とあるようです。

「excel vba GapWidth 棒グラフの太さを変える」
といった検索キーワードで、このサイトへのアクセスもあります。

棒グラフの太さを変更するサンプル

下図のようなデータ系列が2つの、

棒グラフの太さを変更するサンプル

シンプルな棒グラフがアクティブな状態で、挙動を確認しましょう。

Sub 棒グラフの太さを変更する()
 With ActiveChart.ChartGroups(1)
  .GapWidth = 100
  .Overlap = 0
 End With
End Sub

グラフがアクティブな状態で、拙著『いちばんやさしいExcel VBAの教本』で繰り返し行っているように、ステップ実行してください。

ChartGroup.GapWidthプロパティの設定

ChartGroup.GapWidthプロパティが設定されると、

 .GapWidth = 100

下図のように棒グラフの太さが(結果的に)太くなります。

Excel.ChartGroup.GapWidthプロパティを設定した結果

ChartGroup.Overlapプロパティの設定

更に、ChartGroup.Overlapプロパティが設定されると、

 .Overlap = 0

下図のように棒グラフの太さが(結果的に)もう少し太くなります。

ChartGroup.Overlapプロパティを設定した結果

棒グラフの太さを直接変えるのではない

棒グラフの太さを変更するのではなく、GapWidthプロパティですき間を指定したり、Overlapプロパティで重なり具合を指定したりすることで、結果的に棒グラフの太さが変化します。

「excel vba GapWidth 棒グラフの太さを変える」
と検索なさった方は、ChartGroup.GapWidthプロパティについてはご存知のようですが、ChartGroup.Overlapプロパティも、棒グラフの太さに関係します。

ローカルウィンドウでOverlap・GapWidthプロパティを確認する

ChartGroupオブジェクトに用意されているOverlapプロパティ・GapWidthプロパティの変更が、どのような効果をもたらすかは、ローカルウィンドウで値を変えてみると、わかりやすいでしょう。

Sub ChartGroupを確認する()
 Dim cht_grp As ChartGroup
 Set cht_grp = ActiveChart.ChartGroups(1)
 Stop
End Sub

上記のSubプロシージャを実行して、Stopステートメントで中断したら、ローカルウィンドウを表示して変数cht_grpを展開し、GapWidthとOverlapを探してください。

先ほどの

With ActiveChart.ChartGroups(1)
 .GapWidth = 100
 .Overlap = 0

を実行した直後であれば、下図のように表示されているはずです。

ローカルウィンドウでGapWidth・Overlapを確認する

ローカルウィンドウでOverlapを変更する

このOverlapプロパティに表示されている「0」を、下図のように選択して、

ローカルウィンドウでOverlapの値を変更する

キーボードから「-100」と入力して変更すると、下図のように棒グラフの太さが変更されます。

ローカルウィンドウでOverlapの値を変更した結果

[データ系列の書式設定]-[系列のオプション]との連動

GapWidthプロパティのほうも、同様に値を変更すると、結果的に棒グラフの太さが変化することを確認してください。

もちろん、これらの値は、Excelの[データ系列の書式設定]作業ウィンドウ-[系列のオプション]と連動しています。

Excel [データ系列の書式設定]-[系列のオプション]

ローカルウィンドウの、Overlapを変更すれば[データ系列の書式設定]-[系列の重なり]が連動して変化し、GapWidthを変更すれば[データ系列の書式設定]-[要素の間隔]が変化します。

最終更新日時:2022-06-25 08:59

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAで棒グラフの太さを変更する

「グラフ・Chart」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.
.