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

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

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

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

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

ChartGroup.Overlapプロパティの設定

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

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

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

棒グラフの太さを変更するのではなく、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
を実行した直後であれば、下図のように表示されているはずです。

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

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

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

もちろん、これらの値は、Excelの[データ系列の書式設定]と連動しています。

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

最終更新日時:2021-06-10 16:02

[スポンサードリンク]

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

TrackBack:0

TrackBack URL

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

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

検索


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

.