軟體: Microsoft Excel
版本: 2010
小弟手上有筆資料,想以VBA作XY散布圖
A欄為日期,B欄至Q欄帶有XY資料
假設A3有一日期,則B3~Q3為X軸資料,B2~Q2為Y軸資料
目前測試可以做出單張圖為圖表分頁(code如下)
Dim chartA As Chart
Set chartA = Charts.Add
With chartA
.ChartType = xlXYScatter
.HasTitle = True
.ChartTitle.Text = "=Plot1!A3"
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = "=Plot1!B3:Q3"
.SeriesCollection(1).Values = "=Plot1!B2:Q2"
End With
End Sub
但是A欄有很多筆日期資料,但是每一筆的間隔列數不一定
想將上面的code改寫為if+迴圈的形式,一次做出很多張圖表分頁
想改寫成如下的框架
Dim i as interger
For i = 1 to 30 只搜尋A1~A30
if range("A"& i)>0 如果A1有日期
Chart.Add. 增加圖表分頁
With Chart. 指定圖表XY來源與圖表格式,表標題為A欄日期
.ChartType = xlXYScatter
.HasTitle = True
.ChartTitle.Text = "=Plot1!A"&"i"
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = Bi:Qi
.SeriesCollection(1).Values = B(i-1):Q(i-1)
else
next i 如果A1沒有日期就往下找A2,直到A30
end if
但是怎麼寫都有問題,想請有經驗的大大指點一下