こんにちは、わたあめです。今回の記事はExcelマクロのChartObjectsのインデックス番号についてです。
VBAマクロでグラフを扱う時、インデックス番号が何なのか?という事を意識しなければならないかと思います。
という疑問が出てきました。グラフのChartObjectsのIndex番号を調べるというVBAマクロは調べると出てきますが、今回はマクロでなくExcel上で見て分かる方法がないかな?簡単に変更できないかな?と模索してみました。
それでは、いってみましょう!
ChartObjectsのインデックス番号の確認方法
私は、オブジェクトの一覧を表示してグラフのインデックス番号を確認しています。手順は以下の通りです。
- インデックス番号を確認したいシートを選択
- [ホーム]タブ>[検索と選択]>[オブジェクトの選択と表示]の順にクリック
この手順で、Excel画面右側にオブジェクトの一覧が表示されます。
一覧の下からインデックス番号が1,2,3・・・と振られていくようです。グラフが作成された順にインデックスが振られていきます。(一覧では新しいオブジェクトが一番上になる。)
グラフの数が50とか100とか多すぎる場合はカウントが難しいのでマクロを利用した方が良いと思います。10個以下などパッと見分かる個数ならばこの方法を利用していますよ。
グラフが削除されたらインデックス番号はどうなるのか?
グラフが削除されると、インデックス番号は前にずれ(詰めて)ふり直されます。消えてしまったのでその番号は空きということにはならない作りのようです。具体的な例でみていきたいと思います。
今、以下の表の通り7個のインデックス番号が振られたグラフがあるとします。
グラフ1 | ChartObjects(1):インデックス番号1 |
---|---|
グラフ2 | ChartObjects(2):インデックス番号2 |
グラフ3 | ChartObjects(3):インデックス番号3 |
グラフ4 | ChartObjects(4):インデックス番号4 |
グラフ5 | ChartObjects(5):インデックス番号5 |
グラフ6 | ChartObjects(6):インデックス番号6 |
グラフ7 | ChartObjects(7):インデックス番号7 |
ここで、グラフ5を削除すると、インデックス番号は以下の通り1~6に振り直されます。グラフ5が削除されたのでグラフ6のインデックス番号が5に、グラフ6がインデックス番号6なります。
グラフ1 | ChartObjects(1):インデックス番号1 |
---|---|
グラフ2 | ChartObjects(2):インデックス番号2 |
グラフ3 | ChartObjects(3):インデックス番号3 |
グラフ4 | ChartObjects(4):インデックス番号4 |
グラフ5 | 削除 |
グラフ6 | ChartObjects(5):インデックス番号5 |
グラフ7 | ChartObjects(6):インデックス番号6 |
ChartObjectsのインデックス番号の変更方法
という時もありますよね。インデックス番号順に処理する時、思った通りのインデックス番号に並んでいないという事があるわけです。
私は、グラフのインデックス番号の変更は以下の手順で行っています。
- インデックス番号を確認したいシートを選択
- [ホーム]タブ>[検索と選択]>[オブジェクトの選択と表示]の順にクリック
- オブジェクトの一覧でオブジェクトをドラッグ&ドロップ(押したまま動かし離す)
これでOKです。実際に、グラフ2とグラフ3を入れ替えてみましょう!
これで、インデックス番号もグラフ2が「3」に、グラフ3が「2」に変更となりますよ。
さいごに
いかがだったでしょうか。同じような疑問を持たれた方の参考になれば幸いです。それでは、また!