【ExcelVBA】アクティブグラフのインデックス番号を取得する方法

こんなあなたにおすすめ

・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

【シート構成】

【未選択】
【グラフ1】
【グラフ2】

取得したインデックス番号で実際に確認

先ほど取得したインデックス番号でグラフを操作できるか確認してみましょう。

コードの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で覚えておくべき関数 作業効率アップ間違いなし

【Excelについて学びたい方】
Excel 最強の教科書[完全版]
【Excel VBAについて学びたい方】
Excel VBA 脱初心者のための集中講座
エンジニアを目指すなら、TechAcademy!
オンラインスクール受講者数No.1!

・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!

・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!

・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!

・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!

無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です