標題:
[發問]
請教兩個序列在一張圖表內的反轉問題
[打印本頁]
作者:
gnimnek168
時間:
2013-4-16 21:24
標題:
請教兩個序列在一張圖表內的反轉問題
我利用 Excel VBA 創建一個圖表,其內並有兩個序列 (series)物件。資料的來源係從每五分鐘間隔所紀錄的分時資料 (紀錄於儲存格,以列為每一筆單位),紀錄的順序為最晚時間紀錄者排列在上。
序列1設定於主座標軸,反映的是籌碼量變化情形(利用堆積圖);序列2設定於富座標軸,反映的是價格變化情形(折線圖)。X軸為時間、Y軸左側為價格;右側為籌碼數量。
關於主座標X軸的屬性設定如下:
With ActiveChart..Axes(xlCategory, xlPrimary) '設定座標X軸(時間軸)的屬性
.ReversePlotOrder = True '反轉座標軸項目
.CategoryType = xlCategoryScale
.TickLabels.NumberFormatLocal = "hh:mm" '顯示 時:分
.TickLabels.Orientation = 90 '標籤文字轉90度
.TickLabelPosition = xlTickLabelPositionLow '座標軸置於下方
End With
複製代碼
這沒有問題,圖形也確實可以呈現籌碼量的反轉排列。但價格序列卻無法呈現反轉排列,也就是如 13:30 的價格排列在X軸最左方、09:00的價格排列在X軸最右方。
如果想要設定下列這樣的屬性:
'設定副座標X軸的屬性 (成交價)
With ActiveChart.Axes(xlCategory, xlSecondary)
.ReversePlotOrder = True '反轉座標軸項目
End With
複製代碼
執行卻會出現錯誤訊息:'Axes' 方法('_Chart' 物件)失敗。
請問該如何修改 VBA 程式碼或設定才能讓序列二的資料也能同步反轉?
P.S. 如法上傳圖表?
作者:
gnimnek168
時間:
2013-4-17 00:42
回復
1#
gnimnek168
總算找到答案了! 自問自答一下:副座標X軸似乎不像Y軸一樣會自動產出該物件,所以必須透過 .HasAxis() 方法來設定,參考如下:
.HasAxis(xlCategory, xlSecondary) = True
With .Axes(xlCategory, xlSecondary)
.ReversePlotOrder = True '反轉座標軸項目
End With
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)