Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフの位置を取得する

VBAでグラフの位置を取得する

対象:Excel 2010, Excel 2013, Windows版Excel 2016

「excel グラフ 棒グラフ 位置 vba」
「マクロ 選択 要素 グラフ 位置 取得」
という検索でのアクセスがありました。

判断に迷う検索キーワードですが、ワークシート上の埋め込みグラフが、どのセル範囲に存在するかを取得するExcelマクロをご紹介しておきます。

[スポンサードリンク]

グラフの位置を取得するサンプルマクロ

ワークシート上の埋め込みグラフを選択しておいて以下のSubプロシージャを実行すると、左上のセルアドレスと、右下のセルアドレスがメッセージボックスに表示されます。


Sub 埋め込みグラフのセル範囲を取得する()
 On Error GoTo ErrHndl

 With ActiveChart.Parent ' ChartObjectオブジェクト
 MsgBox _
  "左上セル:" & _
  .TopLeftCell.Address(False, False) & vbCrLf & _
  "右下セル:" & _
  .BottomRightCell.Address(False, False)
 End With ' ActiveChart.Parent

 GoTo EndTask

ErrHndl:
 Select Case Err.Number
  Case 91
   MsgBox "ワークシート上のグラフを選択してから実行してください。"
  Case 438
   MsgBox "グラフシートではなく埋め込みグラフを選択してから実行してください。"
  Case Else
   MsgBox Err.Description & vbCrLf & Err.Number
 End Select
 Err.Clear

EndTask:
End Sub

サンプルマクロで利用しているオブジェクトを取得するコードについて

ChartObjectオブジェクトの
TopLeftCellプロパティで左上のセルを表すRangeオブジェクトを、

ChartObject.TopLeftCell

BottomRightCellプロパティで右下のセルを表すRangeオブジェクトを、

ChartObject.BottomRightCell

それぞれ取得できます。

上記のSubプロシージャでは、アクティブなグラフの位置を取得するために、ActiveChartプロパティを利用しているので、

ActiveChartプロパティ

ChartObjectオブジェクトを取得するために、ChartオブジェクトのParentプロパティを利用しています。

Chart.Parent

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフの位置を取得する

TrackBack:0

TrackBack URL
[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフの位置を取得する

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

検索


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

.