標題:
圖表的資料範圍設定
[打印本頁]
作者:
hugh0620
時間:
2016-3-14 19:00
標題:
圖表的資料範圍設定
本帖最後由 hugh0620 於 2016-3-14 19:01 編輯
各位大大,請教一下:
所需的圖表是有2個資料範圍,且這個資料的範圍會隨著需求資料會有變動,
有參照過書籍及站內帖子,
書籍的介紹是使用SetSourceData的語法來撰寫
Ex.
ActiveChart.SetSourceData Source:=ActiveSheet.Range("A2:D6"), PlotBy:=xlColumns
看起來是針對單一的資料範圍設定,如果我有2個資料範圍的話,我該如何撰寫。
也有利用錄製巨集的方式
.SeriesCollection.NewSeries
.FullSeriesCollection(1).Name = "=""循環時間"""
.FullSeriesCollection(1).Values = "='LBF-B'!$L$22:$BJ$22"
.SeriesCollection.NewSeries
.FullSeriesCollection(2).Name = "=""平均時間"""
.FullSeriesCollection(2).Values = "='LBF-B'!$L$98:$AW$98"
這樣的寫法是一個固定資料範圍的方式,也不是很適合需求。
請大大指點一下。
作者:
stillfish00
時間:
2016-3-16 16:39
本帖最後由 stillfish00 於 2016-3-16 16:41 編輯
回復
1#
hugh0620
建議附檔重新說明需求,你要的圖表資料範圍會如何變動?
作者:
hugh0620
時間:
2016-3-19 09:40
本帖最後由 hugh0620 於 2016-3-19 09:41 編輯
感謝回覆,已經自行排除問題。
寫法如下
.SeriesCollection.NewSeries
.FullSeriesCollection(1).Name = "=""循環時間"""
.FullSeriesCollection(1).Values =
工作表5.Range(Cells(22, 12), Cells(22, A + 8))
'"='LBF-B'!$L$22:$BJ$22"
.SeriesCollection.NewSeries
.FullSeriesCollection(2).Name = "=""平均時間"""
.FullSeriesCollection(2).Values =
工作表5.Range(Cells(23, 12), Cells(23, A + 8))
'"='LBF-B'!$L$98:$AW$98"
作者:
hugh0620
時間:
2016-3-28 19:12
本帖最後由 hugh0620 於 2016-3-28 19:13 編輯
Dear 大大
還是同樣的問題,我的電腦是EXCEL 2013,執行上,沒有問題。
在同事的電腦EXCEL 2007,就會產生下圖這樣的問題。
求救大大,該如何修改。
[attach]23630[/attach]
'=====製作圖表中平均值=====
' With ActiveChart
' '========================================================
' .SeriesCollection.NewSeries
' .FullSeriesCollection(1).Name = "=""循環時間"""
' .FullSeriesCollection(1).Values = 工作表5.Range(Cells(22, 12), Cells(22, A + 8)) '"='LBF-B'!$L$22:$BJ$22"
' .SeriesCollection.NewSeries
' .FullSeriesCollection(2).Name = "=""平均時間"""
' .FullSeriesCollection(2).Values = 工作表5.Range(Cells(23, 12), Cells(23, A + 8)) '"='LBF-B'!$L$98:$AW$98"
' .FullSeriesCollection(1).ChartType = xlColumnClustered
' .FullSeriesCollection(1).AxisGroup = 1
' .FullSeriesCollection(2).ChartType = xlLine
' .FullSeriesCollection(2).AxisGroup = 1
' '==============================================================
'
' '=====繪圖區設定====
' .SeriesCollection(1).HasDataLabels = True '隱藏格線
' .PlotArea.Height = 1000
' .PlotArea.Left = 15
' .PlotArea.Width = 15.5 + A * 16.5
' .PlotArea.Top = 15 '16.102
' '=====繪圖區設定====
'
' .ChartWizard HasLegend:=False '隱藏圖例
' .Axes(xlValue).MajorGridlines.Format.Line.Visible = msoFalse
' .ChartGroups(1).GapWidth = 50
' If 工作表5.Range("AF1") <> "" Or 工作表5.Range("AF1") > 10 Then
' .Axes(xlValue).MaximumScale = 工作表5.Range("AF1") '圖表刻度最大值
' End If
' If 工作表5.Range("AM1") <> "" Or 工作表5.Range("AM1") > 10 Then
' .Axes(xlValue).MajorUnit = 工作表5.Range("AM1") '圖表間距的刻度
' End If
' End With
複製代碼
d
作者:
hugh0620
時間:
2016-3-29 14:00
本帖最後由 hugh0620 於 2016-3-29 14:02 編輯
回復
4#
hugh0620
用2007版本錄製巨集,原來只要修改語法就好了
Full
SeriesCollection(1).Name = "=""循環時間"""
' .
Full
SeriesCollection(1).Values = 工作表5.Range(Cells(22, 12), Cells(22, A + 8)) '"='LBF-B'!$L$22:$BJ$22"
' .SeriesCollection.NewSeries
' .
Full
SeriesCollection(2).Name = "=""平均時間"""
' .
Full
SeriesCollection(2).Values = 工作表5.Range(Cells(23, 12), Cells(23, A + 8)) '"='LBF-B'!$L$98:$AW$98"
' .
Full
SeriesCollection(1).ChartType = xlColumnClustered
' .
Full
SeriesCollection(1).AxisGroup = 1
' .
Full
SeriesCollection(2).ChartType = xlLine
' .
Full
SeriesCollection(2).AxisGroup = 1
修改後
.SeriesCollection.NewSeries
.SeriesCollection(1).Name = "=""循環時間"""
.SeriesCollection(1).Values = 工作表5.Range(Cells(22, 12), Cells(22, A + 8)) '"='LBF-B'!$L$22:$BJ$22"
.SeriesCollection.NewSeries
.SeriesCollection(2).Name = "=""平均時間"""
.SeriesCollection(2).Values = 工作表5.Range(Cells(23, 12), Cells(23, A + 8)) '"='LBF-B'!$L$98:$AW$98"
.SeriesCollection(1).ChartType = xlColumnClustered
.SeriesCollection(1).AxisGroup = 1
.SeriesCollection(2).ChartType = xlLine
.SeriesCollection(2).AxisGroup = 1
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)