記事の概要
今回は初回なので基本的な集合棒状グラフを描きますが、シリーズ化していきたいなと思います。
仕事でExcelVBAでグラフを作成することがあるのですが、調べてもなかなかピンとくるものがなくて最初は苦戦しました
この記事が誰かの役に立ったら嬉しいです。
環境
・Excel2016
・Windows10
グラフを描画する
グラフの材料
お約束の果物シリーズで集合棒状グラフを3つの方法で作成します
①全体のグラフを作成する場合
グラフの範囲
コード
Public Sub Graph_Bar1()
Dim ws As Worksheet
Set ws = Sheets(1)
ws.Cells(2, 2).CurrentRegion.Select '---B2に関連するセルを選択
With ws.Shapes.AddChart.Chart '---グラフを作成
.ChartType = xlColumnClustered '---グラフの種類を「集合縦棒」にする
.SetSourceData Source:=Selection '---選択したセルをグラフの範囲にする
End With
End Sub
作成されたグラフ
②隣り合う列を選択してグラフを作成する場合
グラフの範囲
コード
Public Sub Graph_Bar2()
Dim ws As Worksheet
Set ws = Sheets(1)
Dim LastRow As Long
LastRow = ws.Cells(Rows.Count, 2).End(xlUp).Row '---B列の最終行を求める
Range(ws.Cells(2, 2), ws.Cells(LastRow, 3)).Select '---B2~C列の最終行を選択
With ws.Shapes.AddChart.Chart '---グラフを作成
.ChartType = xlColumnClustered '---グラフの種類を「集合縦棒」にする
.SetSourceData Source:=Selection '---選択したセルをグラフの範囲にする
End With
End Sub
作成されたグラフ
③離れた列を選択してグラフを作成する場合
グラフの範囲
コード
Public Sub Graph_Bar3()
Dim ws As Worksheet
Set ws = Sheets(1)
Dim LastRow As Long
LastRow = ws.Cells(Rows.Count, 2).End(xlUp).Row '---B列の最終行を求める
Range("B2:B" & LastRow & ", E2:E" & LastRow).Select '---B2~B列の最終行とE2~E列の最終行を選択
With ws.Shapes.AddChart.Chart '---グラフを作成
.ChartType = xlColumnClustered '---グラフの種類を「集合縦棒」にする
.SetSourceData Source:=Selection '---選択したセルをグラフの範囲にする
End With
End Sub