dポイントプレゼントキャンペーン実施中!

A列:X軸(日付)
H列:Y軸(値)
といったようなグラフを作成するにはどのようなソースで組めばよいのでしょうか?
現在は以下のようなソースまで組めます。
あとは、A列の日付をX軸に設定するだけなのですが、コーディングがわかりません。
---------------------------------------------------------------
Dim chart1 As Chart
Set chart1 = Charts.Add
'H列グラフ化
chart1.SetSourceData Worksheets("Sheet1").Range(Cells(ROWINI, COLRUI), Cells(iend, COLRUI))
chart1.ChartType = xlLineStacked
chart1.HasLegend = False
---------------------------------------------------------------

どなたかアドバイスいただければ幸いです。

A 回答 (1件)

>あとは、A列の日付をX軸に設定するだけ...


この手作業を[マクロの記録]すればある程度は判ります。
>chart1.SetSourceData Worksheets("Sheet1").Range(Cells(ROWINI, COLRUI), Cells(iend, COLRUI))
これを

With Worksheets("Sheet1")
  chart1.SetSourceData .Range(.Cells(ROWINI, COLRUI), .Cells(iend, COLRUI))
  chart1.SeriesCollection(1).XValues = .Range(.Cells(ROWINI, 1), .Cells(iend, 1))
End With

こんな感じに変更すれば良いです。
.Cells(ROWINI, COLRUI)が項目名だったら、.Cells(ROWINI, 1)は.Cells(ROWINI + 1, 1)としたほうが良いかも。

もしくは、最初にグラフ元範囲をRange型変数にSetします。

Dim rng As Range
With Worksheets("Sheet1")
  With .Range(.Cells(ROWINI, COLRUI), .Cells(iend, COLRUI))
    Set rng = Union(.Cells, .Offset(, -7))
  End With
End With
With Charts.Add
  .ChartType = xlLineStacked
  .SetSourceData rng
  .HasLegend = False
End With
Set rng = Nothing

こんな感じ。
    • good
    • 1
この回答へのお礼

おかげで解決しました。ありがとうございました。

お礼日時:2009/07/09 10:24

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

このQ&Aを見た人はこんなQ&Aも見ています