大体でIT
大体でIT
Excel VBAで、グラフの名前を取得する方法と、設定する方法について、ご紹介します。名前の設定や取得は、「.Name」を使います。グラフを選択する場合は、「ActiveChart.Parent.Name」で、グラフを指定する場合は、「ChartObjects(1).Name」というようにします。
この記事では、グラフの名前を「取得」する方法と、「設定」する方法について、ご紹介します。
グラフの名前と設定は、「.Name」を使えばできます。
グラフを選択する場合と、指定する場合で、次のVBAコードを使います。
- グラフを選択する場合:「ActiveChart.Parent」
- グラフを指定する場合:「ChartObjects(1)」
グラフオブジェクトの位置関係を把握しておきましょう。
では、グラフの名前の取得と設定について、解説していきます。
- VBAでグラフの名前の「取得」と「設定」をする方法
グラフの名前を取得するVBAコードについて、まとめています。
VBAコードだけを確認したい場合に、ご活用ください。
'グラフの名前を取得
Debug.Print ActiveChart.Parent.Name 'グラフを選択する場合
Debug.Print ActiveSheet.ChartObjects(1).Name 'グラフを指定する場合
グラフのオブジェクトの「位置関係」を把握すれば、グラフの操作がやりやすくなります。
グラフのオブジェクトの位置関係は、「グラフ」の中に「チャート」が入っているという感じです。
グラフオブジェクトの位置関係
グラフの名前を取得したい場合は、「グラフ」の方のオブジェクトを使います。
グラフを選択した場合には、「チャート」の部分が選択されます。
なので、グラフの名前を取得したい場合は、「ActiveChart」の「親要素」を使って、「ActiveChart.Parent」というようにして使います。
選択した場合
グラフを「選択」した場合に、グラフの名前を取得する場合は、「ActiveChart.Parent」を使います。
グラフを「指定」する場合は、「ChartObjects」を使えば、名前を取得できます。
指定する場合
1つ目のグラフの場合は、「ChartObjects(1)」という感じです。
「ChartObjects(名前)」というようにしても使えます。
使うVBAコードは、「ActiveChart.Parent.Name」です。
Sub TEST1()
'グラフの名前を取得(グラフを選択する場合)
Debug.Print ActiveChart.Parent.Name
End Sub
グラフを用意
「選択したグラフ」の名前を取得できた
使うVBAコードは、「ActiveSheet.ChartObjects(1).Name」です。
Sub TEST2()
'グラフの名前を取得(グラフを指定する場合)
Debug.Print ActiveSheet.ChartObjects(1).Name
End Sub
グラフを用意
「指定したグラフ」の名前を取得
名前の取得で使ったVBAコード「.Name」に値を入力すれば、名前を設定できます。
使うVBAコードは、「ActiveChart.Parent.Name」です。
Sub TEST3()
'選択したグラフの名前を設定
ActiveChart.Parent.Name = "グラフ2"
End Sub
グラフを用意
「選択したグラフ」に名前を設定できた
使うVBAコードは、「ActiveSheet.ChartObjects(1).Name」となります。
Sub TEST4()
'指定したグラフの名前を指定
ActiveSheet.ChartObjects(1).Name = "グラフ2"
End Sub
グラフを用意
「指定したグラフ」に名前を設定できた
「For」を使う方法と、オブジェクトを使って「For Each」で取得する方法があります。
「For」を使って、シート内のグラフの名前を取得してみます。
Sub TEST5()
'グラフをループ
For i = 1 To ActiveSheet.ChartObjects.Count
Debug.Print ActiveSheet.ChartObjects(i).Name '名前を取得
Next
End Sub
複数のグラフを用意
「For」を使って名前を取得できた
次は、「ForEach」を使って、グラフの名前を取得してみます。
Sub TEST6()
'グラフをループ
For Each A In ActiveSheet.ChartObjects
Debug.Print A.Name '名前を取得
Next
End Sub
複数のグラフを用意
「For Each」を使って名前を取得できた
「For Each」を使って名前を取得できました。
この記事では、グラフの名前を「取得」する方法と、「設定」する方法について、ご紹介しました。
グラフの名前と設定は、「.Name」を使えばできます。
グラフを選択する場合と、指定する場合で、次のVBAコードを使います。
- グラフを選択する場合:「ActiveChart.Parent」
- グラフを指定する場合:「ChartObjects(1)」
グラフのオブジェクトの位置関係を把握しておきましょう。
参考になればと思います。最後までご覧くださいまして、ありがとうございました。