こんなあなたにおすすめ
・Excel VBA アクティブグラフの名前を取得したい
Excelでグラフを扱っていると、アクティブなグラフのインデックス番号を取得したいということがあります。
「parent.index」を使うことで、グフラのインデックス番号を取得することができます。
今回は、「parent.index」用いてグラフのインデックス番号を取得する方法について解説します。
アクティブグラフのインデックス番号を取得する方法
「parent.index」を使うことで簡単にグラフのインデックス番号を取得できます。
Sub getGraphIndex() Dim graphIndex As String 'グラフのインデックス番号を格納する変数 Dim cht As Object 'チャートオブジェクトを格納する変数 Set cht = ActiveChart 'アクティブグラフを取得 If cht Is Nothing Then 'アクティブグラフがない場合の処理 MsgBox "グラフが選択されていません。" Else: 'それ以外の処理 graphIndex = cht.Parent.Index 'グラフのインデックス番号を取得 MsgBox graphIndex 'グラフのインデックス番号を出力 End If End Sub
【シート構成】
取得したインデックス番号で実際に確認
先ほど取得したインデックス番号でグラフを操作できるか確認してみましょう。
コードの15~22行目あたりでグラフの数値軸を変更するコードを追加しています。
Sub getGraphIndex() Dim graphIndex As String 'グラフ名を格納する変数 Dim cht As Object 'チャートオブジェクトを格納する変数 Set cht = ActiveChart 'アクティブグラフを取得 If cht Is Nothing Then 'アクティブグラフがない場合の処理 MsgBox "グラフが選択されていません。" Else: 'それ以外の処理 graphIndex = cht.Parent.Index 'グラフのインデックス番号を取得 MsgBox graphIndex 'グラフ名を出力 End If '--------------------------------------------------------------------------------------------- With ActiveSheet.ChartObjects(graphIndex).Chart .Axes(xlCategory).MinimumScale = 0 .Axes(xlCategory).MaximumScale = 10 .Axes(xlCategory).MajorUnit = 5 .Axes(xlValue).MajorUnit = 5 End With '--------------------------------------------------------------------------------------------- End Sub
「parent.index」で取得したインデックス番号でグラフを実際に操作できたかと思います。
グラフのインデックス番号を取得したいときは、「parent.index」を使いましょう。
まとめ
ここまで、アクティブグラフのインデックス番号をを取得する方法について解説しました。
グラフの操作をするときに、インデックス番号を知ることで処理を加えることができますので、「parent.index」の使い方を覚えおきましょう。
Excelで作業効率をアップしたい方は、下記の記事もご参照ください。
>>Excelのショートカット一覧 覚えて作業効率アップ!!
>>Excelで覚えておくべき関数 作業効率アップ間違いなし
オンラインスクール受講者数No.1!
・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!
・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!
・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!
・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!
無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら