| 
    
     |  | >セルに入力してからグラフを作成する方法ではデータ数が多すぎてうまくできませんでした。 とは?
 エラーが出ますか?
 それとも、データ数が多くてグラフ曲線ではうまく表現できないという意味ですか?
 
 後者の場合、グラフの利用目的にもよりますが、データを間引いて大まかな表現に留めるとか、
 表示範囲を限定して、見たい時にグラフ範囲を変動させる、などの方法が考えられます。
 グラフ範囲を可変にするのは一般機能だけでもできますが、作成サンプルとしては以下。
 
 Sub test()
 Const x As Long = 7000 'テスト用データ行数
 Const n As Long = 100 'グラフ表示範囲行数初期値
 Dim r  As Range
 Dim s  As String
 
 With Sheets.Add
 'テストデータ作成
 .Range("A1:C1").Value = [{"data","x移動","x範囲数"}]
 With .Range("A2").Resize(x)
 .Formula = "=RAND()*" & x
 .Value = .Value
 End With
 'ScrollBar
 For Each r In .Range("B3:C3")
 With .ScrollBars.Add(r.Left, r.Top, r.Width, r.Height)
 .Value = 1
 .Min = 1
 .Max = x
 .SmallChange = 1
 .LargeChange = 10
 .LinkedCell = r.Offset(-1).Address
 End With
 Next
 .Range("C2").Value = n
 '[名前定義]
 .Names.Add "data", "=OFFSET($A$1,$B$2,0,$C$2,)"
 s = .Name
 'グラフ作成
 With .ChartObjects.Add(.Range("D1").Left, 0, 500, 300).Chart
 .HasLegend = False
 .ChartType = xlLine
 .SeriesCollection.NewSeries.Formula = "=SERIES(,," & s & "!data,1)"
 .Axes(xlValue).MaximumScale = x
 .HasAxis(xlCategory) = False
 End With
 End With
 End Sub
 
 |  |