私の問題を正確に説明するように努めますが、ご不明な点がありましたらお問い合わせください。
したがって、基本的には、列 A に日付 (1 行目から 80 行目まで) があり、列 B に値 (株価、および同じ範囲) があります。このコードでチャートを作成しました:
Sub Chart()
Range(Cells(1, 1), Cells(80, 1))Select
Range(Selection, Selection.Offset(0, 1)).Select
Set rSource=selection
ActiveChart.SetSourceData Source:=rSource, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet
end sub
したがって、これはチャート オブジェクトではなく、新しいシートの新しいチャートです (この件について私が読んだすべてのことは、シート内のチャートだけではなく、チャート オブジェクトを扱っているためです)。ここで必要なのは、2 つの日付の間に水平線 (サポート ライン) を引くことです。たとえば、2013 年 1 月 1 日 (1 行目) と 2013 年 6 月 25 日 (80 行目) の間に線を引く必要があります。この線は、2013 年 1 月 1 日の株価のレベルで、y 軸 (これを水平線と呼んでいます:)) で同じレベルに留まる必要があります。
私はそれを試しました:
Sub supportline()
Dim CoordA As Variant
CoordA = [a1:b80]
ActiveChart.Shapes.AddLine(CoordA(1, 1), CoordA(1, 2), CoordA(80, 1), CoordA(80, 2)).Select
end sub
でも思い通りに線が引けない。スケールの問題があると思いますが、正確な座標を取得する方法がわかりません。
お時間を割いていただき、ありがとうございました。
編集 (2013 年 6 月 11 日) 問題を説明するためにデータベースを単純化しました: http://cjoint.com/?CFksHluf0VD 2 つの日付 (01/01/2013 と 16 /01/2013)
このファイルをダウンロードすると、VBA 部分に次のように表示されます。間違った縮尺と間違った場所で 2/ テスト 2: 2 点間に水平線を引こうとしましたが、まったくうまくいきません
テスト 2 は、元のプロジェクトで行う必要があることです (ある日付から同じ y 値を持つ別の日付に移動する水平線)