大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、グラフの名前を取得する方法と、設定する方法について、ご紹介します。名前の設定や取得は、「.Name」を使います。グラフを選択する場合は、「ActiveChart.Parent.Name」で、グラフを指定する場合は、「ChartObjects(1).Name」というようにします。

はじめに

この記事では、グラフの名前を「取得」する方法と、「設定」する方法について、ご紹介します。

グラフの名前と設定は、「.Name」を使えばできます。

グラフを選択する場合と、指定する場合で、次のVBAコードを使います。

  • グラフを選択する場合:「ActiveChart.Parent」
  • グラフを指定する場合:「ChartObjects(1)」

グラフオブジェクトの位置関係を把握しておきましょう。

では、グラフの名前の取得と設定について、解説していきます。

この記事で紹介すること

  • VBAでグラフの名前の「取得」と「設定」をする方法

目次から見たい項目へ移動すると便利ですよ。

目次

VBAコードまとめ

グラフの名前を取得するVBAコードについて、まとめています。

VBAコードだけを確認したい場合に、ご活用ください。

'グラフの名前を取得
Debug.Print ActiveChart.Parent.Name 'グラフを選択する場合
Debug.Print ActiveSheet.ChartObjects(1).Name 'グラフを指定する場合

では、解説していきます。

グラフのオブジェクトの位置関係

グラフのオブジェクトの「位置関係」を把握すれば、グラフの操作がやりやすくなります。

グラフのオブジェクトの位置関係

グラフのオブジェクトの位置関係は、「グラフ」の中に「チャート」が入っているという感じです。

グラフオブジェクトの位置関係

グラフオブジェクトの位置関係

グラフの名前を取得したい場合は、「グラフ」の方のオブジェクトを使います。

選択した場合(ActiveChart)

グラフを選択した場合には、「チャート」の部分が選択されます。

なので、グラフの名前を取得したい場合は、「ActiveChart」の「親要素」を使って、「ActiveChart.Parent」というようにして使います。

選択した場合

選択した場合

グラフを「選択」した場合に、グラフの名前を取得する場合は、「ActiveChart.Parent」を使います。

指定する場合(ChartObjects)

グラフを「指定」する場合は、「ChartObjects」を使えば、名前を取得できます。

指定する場合

指定する場合

1つ目のグラフの場合は、「ChartObjects(1)」という感じです。

グラフの名前を入れることもできます。

「ChartObjects(名前)」というようにしても使えます。

グラフの名前を取得する

グラフの「名前」を取得してみます。

選択したグラフの名前を取得

グラフを「選択」して、名前を取得してみます。

使うVBAコードは、「ActiveChart.Parent.Name」です。

Sub TEST1()
    
    'グラフの名前を取得(グラフを選択する場合)
    Debug.Print ActiveChart.Parent.Name
    
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意

では、VBAコードを実行してみます。

「選択したグラフ」の名前を取得できた

「選択したグラフ」の名前を取得できた

結果は、「グラフ1」となりました。

「選択したグラフ」の名前を取得できました。

指定したグラフの名前を取得

次は、「指定」したグラフの名前を取得してみます。

使うVBAコードは、「ActiveSheet.ChartObjects(1).Name」です。

Sub TEST2()
    
    'グラフの名前を取得(グラフを指定する場合)
    Debug.Print ActiveSheet.ChartObjects(1).Name
    
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意

では、VBAコードを実行してみます。

「指定したグラフ」の名前を取得

「指定したグラフ」の名前を取得

結果は、「グラフ1」となりました。

「指定したグラフ」の名前を取得できました。

グラフの名前を設定する

グラフの名前を設定してみます。

名前の取得で使ったVBAコード「.Name」に値を入力すれば、名前を設定できます。

選択したグラフに名前を設定

「選択」したグラフに名前を設定してみます。

使うVBAコードは、「ActiveChart.Parent.Name」です。

「グラフ2」を設定してみます。

Sub TEST3()
    
    '選択したグラフの名前を設定
    ActiveChart.Parent.Name = "グラフ2"
    
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意

では、VBAコードを実行してみます。

「選択したグラフ」に名前を設定できた

「選択したグラフ」に名前を設定できた

グラフの名前が「グラフ2」となりました。

「選択したグラフ」に名前を設定できています。

指定したグラフに名前を設定

次は、「指定」したグラフに名前を設定してみます。

使うVBAコードは、「ActiveSheet.ChartObjects(1).Name」となります。

「グラフ2」という名前を設定してみます。

Sub TEST4()
    
    '指定したグラフの名前を指定
    ActiveSheet.ChartObjects(1).Name = "グラフ2"
    
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意

では、VBAコードを実行してみます。

「指定したグラフ」に名前を設定できた

「指定したグラフ」に名前を設定できた

グラフの名前を「グラフ2」にできました。

「指定したグラフ」に名前を設定できています。

シート内のグラフの名前を取得する

シート内のグラフの名前を、すべて取得してみます。

「For」を使う方法と、オブジェクトを使って「For Each」で取得する方法があります。

「For」を使う場合

「For」を使って、シート内のグラフの名前を取得してみます。

Sub TEST5()
    
    'グラフをループ
    For i = 1 To ActiveSheet.ChartObjects.Count
        Debug.Print ActiveSheet.ChartObjects(i).Name '名前を取得
    Next
    
End Sub

複数のグラフを用意しておきます。

複数のグラフを用意

複数のグラフを用意

では、VBAコードを実行してみます。

「For」を使って名前を取得できた

「For」を使って名前を取得できた

「For」を使って名前を取得できました。

「For Each」を使う場合

次は、「ForEach」を使って、グラフの名前を取得してみます。

Sub TEST6()
    
    'グラフをループ
    For Each A In ActiveSheet.ChartObjects
        Debug.Print A.Name '名前を取得
    Next
    
End Sub

複数のグラフを用意しておきます。

複数のグラフを用意

複数のグラフを用意

では、VBAコードを実行してみます。

「For Each」を使って名前を取得できた

「For Each」を使って名前を取得できました

「For Each」を使って名前を取得できました。

おわりに

この記事では、グラフの名前を「取得」する方法と、「設定」する方法について、ご紹介しました。

グラフの名前と設定は、「.Name」を使えばできます。

グラフを選択する場合と、指定する場合で、次のVBAコードを使います。

  • グラフを選択する場合:「ActiveChart.Parent」
  • グラフを指定する場合:「ChartObjects(1)」

グラフのオブジェクトの位置関係を把握しておきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

アーカイブから探す