「セル」に書かれている「日付」の1分足チャートと「平均移動線A」と「平均移動線B」を「別ウインドウ」で表示するようなVBAマクロを書きたいのですが。
データベースには
「A年月日」「B時刻「C始値」「D高値」「E安値」「F終値」「I平均移動A」「平均移動B」
の順番で入っています。
わたしにわかるように答えてくださった方には300ポイントあげます。
現時点でわかったことはボタンを作って
Private Sub CommandButton1_Click()
End Sub
という準備ができたとこです。
グラフの作り方は、色々なホームページを参照していただくか、簡単な本を参照してください。
基本的には、表示させたいデータと項目のセルを範囲指定したあと、「挿入」―「グラフ」を使って、色々試しながら目的のグラフを作成していきます。
VBAを一から覚えて作るのは、初心者には難しいかもしれません。
そこで、「マクロの記録」をして新しいシートにグラフを作るように操作を記憶させます。
記録を選択してから、上のグラフを作成する方法を始めから丁寧に実行していきます。
記録から、「■」ボタンを押して停止させるまでの手順を自動的にVBAに変換してくれますので、グラフを作り終えたら停止させます。
そうすると、下記「macro1」のようなVBA(マクロ)が完成します。
次に、実行させるためのボタンを作成します。
全ての作業を記録させたら、「表示」-「ツールバー」の中にある「コントロール/ツールボックス」を表示させてボタンを作成します。
ボタンをダブルクリックすると、VBA画面になりますのでそのボタンの
sub ~ end sub
の間の空間に、標準モジュールという中にある先ほど記録したマクロのプログラムを呼び出すように記述してあげます。
【例】
『記録したマクロ』
Sub Macro1()
ActiveWindow.Visible = False
Windows("Book1.xls").Activate
Range("B4:B6").Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("B4:B6"), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub
『ボタンのVBA』
Private Sub CommandButton1_Click() Call Macro1 ←call ~ で~を呼び出します。 End Sub
このあと、保存をすると次回からはマクロが有効になりボタンを押すと、記録した部分に入力されている数値を参照してグラフを作るようになりますよ。
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
1 | ![]() |
125回 | 55回 | 1回 | 2006-11-17 21:23:03 |
コメント(0件)