Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » データラベルに系列名を表示するExcelマクロ

データラベルに系列名を表示するExcelマクロ

対象:Excel 2010, Excel 2013, Windows版Excel 2016

ひとり税理士の井ノ上陽一さんが、Excelの積み上げ縦棒グラフを使ってB/S(貸借対照表グラフ)を作成する手順を記事にしてらっしゃいます。

サンプルファイルも用意されていますから、是非ご自分の手を動かして確認していただきたいと思います。

その一方、実務でこの一連の操作を頻繁に繰り返すのは、面倒に感じるのも事実でしょう。

特に、データラベルに系列名を表示する操作は、[データラベルの書式設定]作業ウィンドウ-[ラベルオプション]で[系列名]チェックボックスを繰り返す必要があり、

データラベルに系列名を表示するExcelマクロ

流動資産・固定資産・流動負債・固定負債・純資産という区分だけの場合はまだしも、現預金・売掛金・商品・備品・保証金・買掛金・未払い費用・預り金・借入金・資本金・利益剰余金...といった科目まで入れる場合、かなり面倒です。

[スポンサードリンク]

この部分だけを楽にするExcelマクロを作ってみました。
アクティブグラフのデータラベルに、系列名を表示するマクロです。

データラベルに系列名を表示するサンプルマクロ

グラフを選択しておいてから以下のSubプロシージャを実行すると、アクティブなグラフにデータラベルが表示され、系列名が追加されます。

Sub アクティブグラフのデータラベルに系列名を表示する()
On Error GoTo ErrHndl

 With ActiveChart
  .ApplyDataLabels
  Dim srs As Series
  For Each srs In .FullSeriesCollection
   srs.DataLabels.ShowSeriesName = True
  Next srs
 End With

Exit Sub
ErrHndl:
 Err.Clear
 MsgBox "グラフを選択してから実行してください。"
End Sub

サンプルマクロの解説

ChartオブジェクトのApplyDataLatbelsメソッドで、

データラベルに系列名を表示するExcelマクロ

アクティブなグラフにデータラベルを表示してから、
  With ActiveChart
   .ApplyDataLabels

ChartオブジェクトのFullSeriesCollectionメソッドで取得した、

データラベルに系列名を表示するExcelマクロ

FullSeriesCollectionコレクションオブジェクトに対して、For Each~Nextループを回して、
   Dim srs As Series
   For Each srs In .FullSeriesCollection

個々のデータ系列を表すSeriesオブジェクトのDataLabelsメソッドで

データラベルに系列名を表示するExcelマクロ

DataLabelsコレクションオブジェクトを取得して、
    srs.DataLabels.ShowSeriesName = True

DataLabelsコレクションオブジェクトのShowSeriesNameプロパティに、

データラベルに系列名を表示するExcelマクロ

Trueを設定して系列名を表示しています。
    srs.DataLabels.ShowSeriesName = True

グラフがアクティブでないときに実行するとエラーとなるので、
 ErrHndl:
  Err.Clear
  MsgBox "グラフを選択してから実行してください。"
とエラートラップを入れています。

最終更新日時:2022-05-21 05:26

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » データラベルに系列名を表示するExcelマクロ

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

検索


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

.