電子書籍の厳選無料作品が豊富!

今、エクセルで為替のチャートを作成しています。
始値、高値、安値、終値のデータを入力して、グラフウィザードで株価、ローソク足チャートを選択して作っています。

質問は、ローソク足チャートを横スクロールできるか?です。

長期間のデータをチャートにすると、画面内に全て収まってしまい、もの凄く細かくてごちゃごちゃのチャートになってしまいます。
なので、ローソク足一本一本のサイズは変わらずに、新しいデータはそのまま右に追加されていきスクロールすると見れるようにしたいです。

いろいろと検索しましたが、チャートの作り方は書いてあるのですが、その作り方でやってみてスクロールできていません。

参考にしたサイトは
http://kabu-horoki.hp.infoseek.co.jp/chart_excel …
です。

他の質問を検索すると、私と同じような質問をしている方がいました。
http://oshiete1.goo.ne.jp/qa2613098.html
これです。

このやり方でやったのですが、結果は同じでデータを更新するとチャートは細かくなってしまいます。
何かやり方が違っているのでしょうか?


そもそもスクロールできないってことはないと思うのですが。
その理由は、他の方がエクセルでチャートを作成して普通に横スクロールできているからです。
その方に、どのようにして作ったかを聞いたのですが、エクセル自体チャートを作る時に初めて使ったようでわからないみたいです。

どなたか詳しい方回答お願いします。

A 回答 (4件)

end-u さんのデータをお借りしました


グラフは、これでいいのかな?(株にうといもので)
「エクセルでチャートをスクロール」の回答画像4
    • good
    • 0

サンプルデータとして日経平均を使ってみます。


新規シートのA1に以下をコピーペーストしてください。
↓ここから
日付 始値 高値 安値 終値
2009/06/01 9,517.49 9,691.73 9,491.26 9,677.75
2009/06/02 9,774.55 9,793.47 9,704.31 9,704.31
2009/06/03 9,723.82 9,774.55 9,718.70 9,741.67
2009/06/04 9,690.93 9,743.46 9,654.45 9,668.96
2009/06/05 9,752.51 9,774.98 9,719.14 9,768.01
2009/06/08 9,829.28 9,914.07 9,816.17 9,865.63
2009/06/09 9,824.17 9,855.89 9,755.81 9,786.82
2009/06/10 9,833.64 9,991.49 9,813.77 9,991.49
2009/06/11 9,992.98 10,022.23 9,958.98 9,981.33
2009/06/12 10,088.21 10,170.82 10,050.96 10,135.82
2009/06/15 10,126.55 10,126.55 10,029.59 10,039.67
2009/06/16 9,914.40 9,941.50 9,752.88 9,752.88
2009/06/17 9,705.73 9,845.52 9,705.73 9,840.85
2009/06/18 9,778.35 9,778.35 9,649.83 9,703.72
2009/06/19 9,757.85 9,822.83 9,703.87 9,786.26
2009/06/22 9,788.07 9,887.13 9,763.37 9,826.27
2009/06/23 9,695.76 9,712.09 9,511.45 9,549.61
2009/06/24 9,596.78 9,624.41 9,534.24 9,590.32
2009/06/25 9,628.18 9,871.14 9,619.02 9,796.08
2009/06/26 9,852.92 9,893.00 9,793.95 9,877.39
2009/06/29 9,866.28 9,943.83 9,748.73 9,783.47
↑ここまで
A列にデータが貼り付きます。
A列選択し、メニュー[データ]-[区切り位置]、[カンマやタブなどの区切り文字で...][次へ]
で「スペース」にチェックを入れて各列ごとにデータを配置してください。
A1:E22の範囲になるはずです。
このシートをアクティブにして、以下の手順でマクロを実行します。

1)Excelの画面から[Alt]キー+[F11]キー同時押し。VBE(Visual Basic Editor)が起動。
2)VBEの画面から[Alt]→[i]→[m]キー順押し。標準モジュールが挿入される。
3)標準モジュールに以下コードをコピーペーストして[F5]キーで実行。

Sub test()
  Dim r As Range
  Dim s As String

  With ActiveSheet
    .Range("F1:G1").Value = [{"x範囲数","x移動"}]
    'ScrollBarを作成し、セルにリンクさせます。
    For Each r In .Range("F3:G3")
      With .ScrollBars.Add(r.Left, r.Top, r.Width, r.Height)
        .Value = 1
        .Min = 1
        .Max = 100
        .SmallChange = 1
        .LargeChange = 10
        .LinkedCell = r.Offset(-1).Address
      End With
    Next
    .Range("F2").Value = 10
    '[名前定義]を作成し、リンクセルによって可変する範囲を設定します。
    .Names.Add "日付", "=OFFSET($A$1,$G$2,0,$F$2,)"
    .Names.Add "始値", "=OFFSET($A$1,$G$2,1,$F$2,)"
    .Names.Add "高値", "=OFFSET($A$1,$G$2,2,$F$2,)"
    .Names.Add "安値", "=OFFSET($A$1,$G$2,3,$F$2,)"
    .Names.Add "終値", "=OFFSET($A$1,$G$2,4,$F$2,)"
    s = "'" & .Name & "'!"
    'グラフ作成
    With .ChartObjects.Add(.Range("H1").Left, 0, 500, 300).Chart
      .SeriesCollection.NewSeries.Formula _
        = "=SERIES(" & s & "$B$1," & s & "日付," & s & "始値,1)"
      .SeriesCollection.NewSeries.Formula _
        = "=SERIES(" & s & "$C$1," & s & "日付," & s & "高値,2)"
      .SeriesCollection.NewSeries.Formula _
        = "=SERIES(" & s & "$D$1," & s & "日付," & s & "安値,3)"
      .SeriesCollection.NewSeries.Formula _
        = "=SERIES(" & s & "$E$1," & s & "日付," & s & "終値,4)"
      .ChartType = xlStockOHLC
    End With
  End With
End Sub

#マクロでないと作れないわけではないです。手作業でできます。
#あくまでサンプルグラフを作成するためのものです。
#セルにリンクさせた[スクロールバー]と[名前定義]を使う事で、グラフ範囲を可変にスクロールできます。
#作成されたグラフの[元のデータ]-[系列]タブの内容を確認してみてください。
#また、系列を選択して数式バーに表示されるSERIES関数と対応する[名前定義]を参照してください。
#[名前定義]は[Ctrl]キー+[F3]キーの同時押しで確認できます。
    • good
    • 0

どういう訳か 89k の jpeg画像がアップロードできません


後ほど試してみます
    • good
    • 0

フォームのスクロールバーが使えますよ



コントロールの書式設定で「最小値」「最大値」「リンクするセル」を指定します

画像は1例です
    • good
    • 0

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