質問: エクセルvbaでグラフのインデックスを取得したい 質問させていただきます。 同じようなグラフが埋め込まれたシートが15前後存在する ブックが多数あります。 グラフの色変更をマクロで一括実行していたのですが、 エラーで停止、原因はグラフのインデックスが一部違っているためでした。(ほとんどは”グラフ 2”ですが、2のほかに4や6、1028なんかもある) そこで、グラフのインデックスを参照するコードを追加したいのですが、ご教示いただけるでしょうか。 よろしくお願いします。
回答: >「邪魔そうな図」とは、加工したいグラフ以外に別のグラフがあります >(同一シート上にグラフが2つ、その他ラインが複数本ちらばっている)。 各シートにはグラフが2つ在るということですか? 必ず2つですか? 2つ以上は無いのですか? 「その他ラインが複数本」とはオートシェイプの直線があるという事ですか? たとえ、オートシェイプの直線が存在していても、無問題です。 回答番号:no.2 で示したコードは、全てのグラフの系列6に対して加工操作します。 加工したいグラフのインデックス(名前に付けられる番号ではありません)が、2(そのシート上で2番目に作成されたグラフというような意味です)とするなら dim ws as worksheet dim cht as chartobject for each ws in activeworkbook.worksheets with ws.chartobjects(2).chart.seriescollection(6) .border.colorindex = 14 end with next ws とすれば、 全てのシートで、インデックスが 2 のグラフの、系列番号6 の折れ線の色が、colorindex値 14 の色に設定されます。