プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。

EXCELの表からグラフが自動表示されるように設定しております。
ただ、表は日々、更新されデータが増えていきます。

そこで、最終行が更新されたデータに合わせてグラフの選択範囲が変動されるように
したいです。

イメージは添付画像の通りです。

以下の関数をどのように修正するべきかをご教授ください。
よろしくお願いします。

FX!$N$1:$N$500

「<EXCELグラフ>データ取得範囲を最下」の質問画像

A 回答 (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
    • good
    • 1
この回答へのお礼

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

お礼日時:2014/10/06 23:30

「最終行が更新されたデータに合わせてグラフの選択範囲が変動されるように


したい」
関数で対応するのは無理だと思います。VBAになる。

ただ、見栄えが悪いので、空白セルはグラフに表示しないということであれば、

グラフ右クリック―データの選択―非表示および空白セル(左下にある)
で、
空白セルの表示方法―空白にチェック

でできるでしょう。
「<EXCELグラフ>データ取得範囲を最下」の回答画像1
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/10/06 23:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A