項目数が多い場合、円グラフでは全体状況を表示しにくいが、横棒グラフなら50項目程度でも個々の項目の発行件数を表示できる。
集計表の構成は次の2項目である。
集計項目 発行件数
縦合計欄は表から1行空けて作成したので、集計表には縦合計欄が無い。
シート名は「横棒グラフ」である。
マクロは次のとおり。
'変数を宣言
Dim SHEETNAME02 As String
Dim NY2 As Long, NX2 As Integer
'シート名称設定
SHEETNAME02 = "横棒グラフ"
'
'==============
'横棒グラフを作成する
'==============
'処理範囲の行列数を取得
Sheets(SHEETNAME02).Select
Cells(1, 1).Select
ActiveCell.CurrentRegion.Select
NY2 = Selection.Rows.Count
NX2 = Selection.Columns.Count
'横棒グラフを作成
Range(Cells(1, 1), Cells(NY2, NX2)).Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlBarClustered
ActiveChart.SetSourceData Source:=Range(Cells(1, 1), Cells(NY2, NX2))
'グラフのタイトルを設定
ActiveChart.SeriesCollection(1).Select
ActiveChart.ChartTitle.Select
ActiveChart.ChartTitle.Text = "コード別の発行件数内訳"
Selection.Format.TextFrame2.TextRange.Font.Size = 14
With ActiveSheet.ChartObjects(1).Chart.Axes(xlValue)
.HasTitle = True
.AxisTitle.Text = "発行件数"
End With
'件数を表示
With ActiveSheet.ChartObjects(1).Chart
.SetElement msoElementDataLabelOutSideEnd
.SeriesCollection(1).DataLabels.ShowValue = True
End With
'グラフの位置と大きさを設定
With ActiveSheet.ChartObjects(1)
.Left = 250
.Top = 100
.Width = 700
.Height = 500
End With
'
これにより、項目名と件数付きの横棒グラフを作成できる。
グラフのタイトルはマクロ内で「コード別の発行件数内訳」に設定したが、これを変更すれば別のタイトルに変更できる。
この後、作成したグラフの空白領域を右クリックし、グラフメニューから3-D集合横棒や集合横棒(円柱)などを選択することにより好みの様式に変更することもできる。
また、表示エリアが小さくて表示される項目が飛んでいれば、グラフ作成後にグラフ領域を下に広げることにより全ての項目が表示されるようになる。