B08A.円グラフ

全体の割合を見るには円グラフがわかりやすい。

円グラフを作成するときに留意すべきことは、項目数が多いときに項目数を例えばベストテンに絞るか、あるいは全項目のままでグラフ化するかである。

項目数が多すぎると、個々の項目は判別できなくなるので10項目程度にする方が良いでしょう。

絞り込むとしても、その他をまとめて別項目とするか、その他は含めないかも検討事項である。

ほとんどがその他であれば、その他が多いということ以外はわからない。

この判断は、何を見たいかにより表示する項目を選択することになる。

処理対象の集計表の構成は以下の4項目。最下行は合計件数欄となっている。

コード 、 発電方式、 合計、 %


マクロは次のとおり。


'変数を宣言

Dim SHEETNAME02 As String

Dim NY2 As Long, NX2 As Integer

Dim btitle As String

'シート名称設定

SHEETNAME02 = "円グラフ"

'

'================

'円グラフを作成する

'================

If NY2 > 2 Then

btitle2 = Cells(1, 2) 'ここでは2列目のヘッダである「発電方式」が読み込まれる

'処理範囲の行列数を取得

Sheets(SHEETNAME02).Select

Cells(1, 1).Select

ActiveCell.CurrentRegion.Select

NY2 = Selection.Rows.Count

NX2 = Selection.Columns.Count

'グラフ種別設定

Range(Cells(1, 2), Cells(NY2 - 1, 3)).Select

ActiveSheet.Shapes.AddChart.Select

ActiveChart.ChartType = xlPie

'グラフ修正

ActiveChart.SetSourceData Source:=Range(Cells(1, 2), Cells(NY2 - 1, 3))

ActiveChart.SeriesCollection(1).Select

'タイトル設定

ActiveChart.ChartTitle.Select

ActiveChart.ChartTitle.Text = btitle2 & "別の発行件数"

With Selection.Format.TextFrame2.TextRange.Font

.Bold = msoFalse

.Italic = msoFalse

End With

Selection.Format.TextFrame2.TextRange.Font.Size = 18

With ActiveSheet.ChartObjects(1).Chart

.SetElement msoElementDataLabelOutSideEnd

.SeriesCollection(1).DataLabels.ShowCategoryName = True

End With

'グラフの位置と大きさを設定

With ActiveSheet.ChartObjects(1)

.Left = 400

.Top = 300

.Width = 400

.Height = 400

End With

End If

'

これにより、項目名と件数付きの円グラフが作成できる。

また、グラフのタイトルは集計表から読み込んだヘッダを使用し、「発電方式別の発行件数」に設定される。

この後、作成したグラフの空白領域をクリックし、グラフメニューから分割円を選択したり、3-D円グラフを選択することにより好みの様式に変更することもできる。