Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » ChartObject・埋め込みグラフの有無を調べる

ChartObject・埋め込みグラフの有無を調べる

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

グラフ

「vba chartobject有無判定」
「excel vba chartobject 存在するか」
「excel vba chartobjectsの有無を調べる」
といった検索でのアクセスが、意外とあることに気づきました。

ワークシート上に、埋め込みグラフ(ChartObjectオブジェクト)が存在するかどうかを調べるには、どのようなコードを書けばいいのか探していらしたのでしょう。

[スポンサードリンク]

アクティブシートの埋め込みグラフ有無を調べるサンプルマクロ

以下のSubプロシージャが参考になるでしょう。


Sub 埋め込みグラフの有無確認_アクティブシート()
 If ActiveSheet.ChartObjects.Count = 0 Then
  MsgBox "アクティブシートに埋め込みグラフはありません。"
 End If
End Sub

ChartObjects.Countで埋め込みグラフの有無を確認できる

埋め込みグラフが存在しなければ、埋め込みグラフを表すChartObjectオブジェクトを単独のオブジェクトとして持つ、ChartObjectsコレクションオブジェクトのCountプロパティが0に、存在していれば1以上になります。

オブジェクトブラウザー:ChartObjects.Count

オブジェクト式「ActiveSheet.ChartObjects.Count」を、「Worksheets(1).ChartObjects.Count」とすれば、一番左のワークシートの埋め込みグラフ有無を確認できます。

「Worksheets("サンプルシート").ChartObjects.Count」とすれば、「サンプルシート」という名前のワークシートの埋め込みグラフ有無を確認できます。

アクティブブックの埋め込みグラフ有無を調べるサンプルマクロ

以下のようなマクロにすれば、アクティブなブックの埋め込みグラフ有無を調べられます。


Sub 埋め込みグラフの有無確認_アクティブブック()
 Dim n As Long: n = 0

 Dim sh As Worksheet
 For Each sh In Worksheets
  n = n + sh.ChartObjects.Count
 Next sh

 If n = 0 Then
  MsgBox "アクティブブックに埋め込みグラフはありません。"
 End If
End Sub

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » ChartObject・埋め込みグラフの有無を調べる

TrackBack:0

TrackBack URL
[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » ChartObject・埋め込みグラフの有無を調べる

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

検索


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

.