Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » Indexが「0」のChartObjectはExcel VBAに存在しない

Indexが「0」のChartObjectはExcel VBAに存在しない

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2201 ビルド14827.20192 Microsoft Store)

「excel vba chartobjects index番号 0」
といった検索キーワードでアクセスがありました。

Indexが「0」のChartObjectオブジェクトがある、と考えている方による検索でしょうか。

Index「0」のChartObjectはExcel VBAにはない

結論からお伝えすると、Indexが「0」のChartObjectは、Excel VBAにはありません。

0オリンジンの配列等にのみ慣れたプログラミング経験のある方には気持ち悪いかもしれませんが、Excel VBAの場合、Excelの何らかの要素を表すコレクションに含まれる要素オブジェクトのIndexは、基本的に1オリジンです。

もちろん、Excel VBAではなく何らかの別のプログラミング言語でCOMアプリケーションExcelを操作する場合、言語によっては0オリジンのコレクションを取得できる場合はあります。

Index「0」のChartObjectがないことを確認する

埋め込みグラフが存在するワークシートがアクティブな状態で以下のExcelマクロを実行しても、必ず実行時エラーが発生します。

Sub Indexが0のChartObjectはない()
 ActiveSheet.ChartObjects(0).Select
End Sub

「.ChartObjects(0)」を「.ChartObjects(1)」に変更して実行すれば、Indexが「1」の埋め込みグラフが選択されます。

ChartObjectのIndexを確認する

複数の埋め込みグラフが存在するワークシートがアクティブな状態で、以下のSubプロシージャも実行してみてください。

Sub ChartObjectのIndexを確認する()
 Dim cho As ChartObject
 For Each cho In ActiveSheet.ChartObjects
  cho.Select
  Application.ScreenUpdating = True
  MsgBox cho.Index
 Next
End Sub

埋め込みグラフが順番に選択され、そのIndex番号がメッセージボックスに表示されます。

最終更新日時:2022-07-15 15:49

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » Indexが「0」のChartObjectはExcel VBAに存在しない

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

検索


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

.