• 締切済み

エクセルの最後の行から上に1000件分だけを・・・

エクセルの最後の行から上に1000件分だけを表示させる方法はありませんか? グラフに最後の行から上に範囲を決めて表示させる方法はありませんか? よろしくお願いします。

みんなの回答

  • tossy005
  • ベストアンサー率38% (7/18)
回答No.4

>グラフを列での指定をすると折れ線グラフが限りなく増えていきます。 列での指定とはおそらく行での指定のことだと思いますが、最終行から1000行のデータを 特定のシートのn~n+1000行の範囲にコピーして使用する方法はいかがでしょうか。 グラフのデータ範囲の指定を上記特定シートのn~n行の範囲にしておけば、その1000行のみが対象となります。 あとは最新データを対象とする方法ですが、 コピーするタイミングを単純にDoでぐるぐるまわすか、Doでまわしつつ1秒更新にしたりしてはいかがでしょうか。 Do '下記If文は1秒更新用ですので、お勧めはしませんが常に最新のデータにする場合は削除してください。 If Application.Wait(Now + TimeValue("0:00:01")) Then call 最終行から1000行を範囲指定して、グラフの対象となる特定シートのn~n+1000行にコピーする関数 End if 'ここに特定セルに"STOP"と書かれたらExit Doする処理を入れておくと安心かもしれません Loop

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

A No.2です。 1000個まで固定では、nenezo50さんの仕様に合致したのでしょうか? 個数を変更したければ、 1.VBAのコードを書き換える 2.INPUTBOX関数/メソッドで入力を求める 3.特定のセルから読み込む といった方法が考えられます。 2の例です。3についてもコメントアウトして入れてあります。セル番地等は環境に合わせて変更して下さい。 Sub test() Dim targetRange As Range Dim visibleRowCount As Long visibleRowCount = InputBox("データ数", "データ数入力", 1000) 'visibleRowCount = Activesheet.range("a1").value Set targetRange = ActiveSheet.Range("a6").CurrentRegion With targetRange .Range(Cells(2, 1), Cells(.Rows.Count - visibleRowCount, 1)).EntireRow.Hidden = True End With End Sub キャンセルした時のエラー処理などは行っておりませんので、雛形とお考え下さい。

nenezo50
質問者

補足

VBで非表示にしても名前で定義した範囲はグラフに反映されてしまいました。 当方素人のためVBは分かっていません。なかなか手が出ません。 なんとか別ページに下記の式で抽出してグラフを最新から1000件を自動更新することができました。    =INDEX(DATA!D:D,COUNTA(DATA!D:D)-1000)              ・              ・              ・    =INDEX(DATA!D:D,COUNTA(DATA!D:D)-1)  皆様いろいろありがとうございました。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

A6から始まる表の、1行目の見出しを残して、一番下から、下から1000個までの行を表示する(というか、それ以外の行を非表示にする)コードです。 こういう事で良いのでしょうか。ご参考まで。 Sub test() Dim targetRange As Range Const visibleRowCount As Long = 1000 Set targetRange = ActiveSheet.Range("a6").CurrentRegion With targetRange .Range(Cells(2, 1), Cells(.Rows.Count - visibleRowCount, 1)).EntireRow.Hidden = True End With End Sub

nenezo50
質問者

補足

データロガーからデーターを吸い上げてきます。 このため、データが随時増えていきます。 グラフを列での指定をすると折れ線グラフが限りなく増えていきます。 最新データ(列末)から○件と指定できればありがたいのですが。

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

1001件目より上の部分を非表示にしたいと、いうことでしょうか?

nenezo50
質問者

補足

いえ、違います。 最後の行(データが増えるため)から上に向かって1000件(範囲を指定したい)

関連するQ&A