• ベストアンサー

<EXCELグラフ>データ取得範囲を最下行にしたい

こんにちは。 EXCELの表からグラフが自動表示されるように設定しております。 ただ、表は日々、更新されデータが増えていきます。 そこで、最終行が更新されたデータに合わせてグラフの選択範囲が変動されるように したいです。 イメージは添付画像の通りです。 以下の関数をどのように修正するべきかをご教授ください。 よろしくお願いします。 FX!$N$1:$N$500

質問者が選んだベストアンサー

  • ベストアンサー
  • eden3616
  • ベストアンサー率65% (267/405)
回答No.2

VBAによる対応となります。 対象のシートタブを右クリックしてコードの表示を選び、 最下のVBAコードを貼り付けてください。 セルに値が入力されるとグラフの参照範囲が変わります。 ■コードの修正 以下のコードでは、対象のグラフ名が「グラフ 11」であり、 変更するセル範囲がB列1行目から最終行までとしています。 (1)対象のグラフ名を変更する場合   If .ChartObjects(i).Name = "グラフ 11" Then   「グラフ 11」の部分を修正してください。 (2)再設定するセル範囲を変更する場合   Range(Cells(1, "B"), Cells(Rows.Count, "B").End(xlUp))   →Cells(1, "B")が開始セルになります。     Cells(行番号, "列記号")の様式で記述   →Cells(Rows.Count, "B").End(xlUp)が終了セルになります。     Cells(Rows.Count, "列記号").End(xlUp)の様式で記述 ■VBAコード Private Sub Worksheet_Change(ByVal Target As Range) With ActiveSheet For i = 1 To .ChartObjects.Count   '変更対象のグラフ名を設定   If .ChartObjects(i).Name = "グラフ 11" Then     'グラフの参照範囲をB1:B最終行に変更     .ChartObjects(i).Chart.SetSourceData Source:= _       Range(Cells(1, "B"), Cells(Rows.Count, "B").End(xlUp))     Exit For   End If Next i End With End Sub

mame1216
質問者

お礼

ご丁寧にありがとうございました。 うまく動きました!

その他の回答 (1)

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.1

「最終行が更新されたデータに合わせてグラフの選択範囲が変動されるように したい」 関数で対応するのは無理だと思います。VBAになる。 ただ、見栄えが悪いので、空白セルはグラフに表示しないということであれば、 グラフ右クリック―データの選択―非表示および空白セル(左下にある) で、 空白セルの表示方法―空白にチェック でできるでしょう。

mame1216
質問者

お礼

大変助かりました。ありがとうございました!

関連するQ&A