「vba chartobject有無判定」
「excel vba chartobject 存在するか」
「excel vba chartobjectsの有無を調べる」
といった検索でのアクセスが、意外とあることに気づきました。
ワークシート上に埋め込みグラフ(ChartObjectオブジェクト)が存在するかどうかをExcel VBAで調べるには、どのようなコードを書けばいいのか探していらしたのでしょう。
アクティブシートの埋め込みグラフ有無を調べるサンプルマクロ
以下のSubプロシージャが参考になるでしょう。
If ActiveSheet.ChartObjects.Count = 0 Then
MsgBox "アクティブシートに埋め込みグラフはありません。"
End If
End Sub
ChartObjects.Countで埋め込みグラフの有無を確認できる
埋め込みグラフが存在しなければ、埋め込みグラフを表すChartObjectオブジェクトを単独のオブジェクトとして持つ、ChartObjectsコレクションオブジェクトのCountプロパティが0に、存在していれば1以上になります。
オブジェクト式「ActiveSheet.ChartObjects.Count」を、「Worksheets(1).ChartObjects.Count」とすれば、一番左のワークシートの埋め込みグラフ有無を確認できます。
「Worksheets("サンプルシート").ChartObjects.Count」とすれば、「サンプルシート」という名前のワークシートの埋め込みグラフ有無を確認できます。
アクティブブックの埋め込みグラフ有無を調べるサンプルマクロ
以下のようなマクロにすれば、アクティブなブックの埋め込みグラフ有無を調べられます。
Dim cnt As Long: cnt = 0
Dim ws As Worksheet
For Each ws In Worksheets
cnt = cnt + ws.ChartObjects.Count
Next
MsgBox "アクティブブックに埋め込みグラフはありません。"
Else
MsgBox "アクティブブックには「" & cnt & "」個の埋め込みグラフがあります。"
End If
End Sub
最終更新日時:2022-06-23 10:17
- Newer:定義された名前の数を取得-Names.Countプロパティ
- Older:レベルが高すぎた
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » ChartObject・埋め込みグラフの有無を調べる