動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2205 ビルド15225.20204 Microsoft Store)
「VBA グラフ アクティブにする」
といった検索キーワードで時折アクセスがあります。
埋め込みグラフをアクティブにするサンプルマクロ
埋め込みグラフの存在するシートがアクティブな状態で以下のExcelマクロを実行すると、コード「.ChartObjects(1)」で取得できる1つ目の埋め込みグラフがアクティブになり、メッセージボックスが表示されます。
Sub 埋め込みグラフをアクティブにする()
On Error GoTo ErrHandl
ErrHandl:
Select Case Err.Number
Case 1004
MsgBox "指定された埋め込みグラフは、アクティブシート上に存在しないようです。"
Case -2147024809
MsgBox "指定された名前の埋め込みグラフが見つかりません。"
Case Else
MsgBox Err.Description & vbCrLf & Err.Number
End Select
End Sub
On Error GoTo ErrHandl
ActiveSheet.ChartObjects(1).Activate
MsgBox "指定された埋め込みグラフをアクティブにしました!"
ErrHandl:
Select Case Err.Number
Case 1004
MsgBox "指定された埋め込みグラフは、アクティブシート上に存在しないようです。"
Case -2147024809
MsgBox "指定された名前の埋め込みグラフが見つかりません。"
Case Else
MsgBox Err.Description & vbCrLf & Err.Number
End Select
End Sub
埋め込みグラフを表すChartObjectオブジェクトに用意されているActivateメソッドを使えば、埋め込みグラフをアクティブにできます。
上記のマクロでは、埋め込みグラフを表すChartObjectオブジェクトを取得するために、Worksheet.ChartObjectsメソッドの引数に
整数「1」を指定しています。
ActiveSheet.ChartObjects(1).Activate
埋め込みグラフを名前で指定したい場合
「グラフ 1」という名前の埋め込みグラフが存在するときに、
ActiveSheet.ChartObjects("グラフ 1").Activate
とすれば、名前を使って「グラフ 1」グラフをアクティブにできます。
実行時エラー回避のために
Chart.ChartObjectsメソッドを使ったChartObjectオブジェクトの取得に失敗して実行時エラーが発生する可能性がありますから、
On Error GoTo ErrHandl (途中省略) ErrHandl: Select Case Err.Number Case 1004 MsgBox "指定された埋め込みグラフは、アクティブシート上に存在しないようです。" Case -2147024809 MsgBox "指定された名前の埋め込みグラフが見つかりません。" Case Else MsgBox Err.Description & vbCrLf & Err.Number End Select
とエラートラップを入れています。
最終更新日時:2022-07-05 16:07
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAで埋め込みグラフをアクティブにする