Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAで埋め込みグラフをアクティブにする

VBAで埋め込みグラフをアクティブにする

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2205 ビルド15225.20204 Microsoft Store)

「VBA グラフ アクティブにする」
といった検索キーワードで時折アクセスがあります。

埋め込みグラフをアクティブにするサンプルマクロ

埋め込みグラフの存在するシートがアクティブな状態で以下のExcelマクロを実行すると、コード「.ChartObjects(1)」で取得できる1つ目の埋め込みグラフがアクティブになり、メッセージボックスが表示されます。

Sub 埋め込みグラフをアクティブにする()
On Error GoTo ErrHandl

 ActiveSheet.ChartObjects(1).Activate
 MsgBox "指定された埋め込みグラフをアクティブにしました!"

Exit Sub
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で埋め込みグラフをアクティブにする

「グラフ・Chart」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.