Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフタイトルにセルを参照した数式を入力する-ChartTitle.Formula

VBAでグラフタイトルにセルを参照した数式を入力する-ChartTitle.Formula

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

グラフタイトルにセルを参照した数式を入力するExcelマクロ

「グラフ内にセルを参照したタイトルをマクロで作成」
という検索が、このサイト・インストラクターのネタ帳で行われていました。

Excelのグラフでは、グラフタイトルにワークシート上のセルを参照する数式を入力しておくと、セルに入力されている文字列をグラフのタイトルとして表示させることができます。

[スポンサードリンク]

これをVBA(Visual Basic for Applications)で行うには、どのようなコードを書けばいいのか調べていらしたのでしょう。

グラフタイトルにセルを参照した数式を入力するサンプルマクロ

「シート1」という名前のワークシート上にグラフが存在するときに、以下のSubプロシージャを実行すると、「シート1」シートに存在する1つ目のグラフのグラフタイトルに「=シート1!$A$1」という数式が入力されます。

Sub グラフタイトルにセルを参照した数式を入力する_基本()
 Sheets("シート1").ChartObjects(1).Chart _
   .ChartTitle.Formula = "=シート1!$A$1"
End Sub

上記のマクロのとおり、ChartTitleオブジェクトのFormulaプロパティに、

グラフタイトルにセルを参照した数式を入力するExcelマクロ

セルを参照する数式を指定すれば、VBAからグラフタイトルにセルを参照した数式を入力できます。

オブジェクト式が、
  Sheets("シート1").ChartObjects(1).Chart.ChartTitle.Formula
と、長くならざるを得ないので、上記のマクロでは「 _」で改行を行っています。

アクティブなワークシートのグラフタイトルにセルを参照した数式を入力するサンプルマクロ

アクティブシートの1つ目のグラフのグラフタイトルに、そのシートのA1セルを参照する数式を入力するなら、以下のようなSubプロシージャです。

Sub グラフタイトルにセルを参照した数式を設定する_アクティブシート()
 ActiveSheet.ChartObjects(1).Chart _
   .ChartTitle.Formula = "=" & ActiveSheet.Name & "!$A$1"
End Sub

先ほどのマクロは、「シート1」シートの1つ目のグラフに数式を入力するということでしたから、オブジェクト式が、
  Sheets("シート1").ChartObjects(1).Chart _
と「Sheets("シート1").ChartObjects(1)」からはじまっていましたが、このマクロはアクティブシートということなので、
  ActiveSheet.ChartObjects(1).Chart _
と「ActiveSheet.ChartObjects(1)」からはじまっています。

入力したい数式を指定する代入文の右辺
  "=" & ActiveSheet.Name & "!$A$1"
が、文字列の連結に慣れていないレベルの方だと、戸惑ってしまうかもしれません。

アクティブシートの名前を取得する「ActiveSheet.Name」というオブジェクト式の前に、グラフタイトルに入力する数式の「=」と、
  "=" & ActiveSheet.Name & "!$A$1"
A1セルを参照するための「!$A$1」を、
  "=" & ActiveSheet.Name & "!$A$1"
文字列連結演算子「&」で連結しています。
  "=" & ActiveSheet.Name & "!$A$1"

この、代入する数式「"=" & ActiveSheet.Name & "!$A$1"」が、代入文の右辺に指定されているので、
 ActiveSheet.ChartObjects(1).Chart _
   .ChartTitle.Formula = "=" & ActiveSheet.Name & "!$A$1"
のように、「=」とシングルクォート「"」で括られた「=」が連なっています。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフタイトルにセルを参照した数式を入力する-ChartTitle.Formula

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

検索


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

.