我有一个图表集合系列。我想将收集系列的范围向右扩展一列。下面的代码工作。但是,它假定我知道收集系列的范围(下例中的“B36:DA36”)。事实上,我希望收集系列的初始范围(在调整大小之前)能够以动态的方式定义,因为它每天都在变化,并将其定义为下面的内容,因此无法完成这项工作。设置系列集合为范围 - VBA - Excel
Sub resize_collection_series()
Dim NumRows As Long
Dim NumCols As Long
Dim Rng As Range
Set Rng = Range("B36:DA36")
NumRows = Rng.Rows.Count
NumCols = Rng.Columns.Count
Worksheets("Sheet1").Activate
ActiveSheet.ChartObjects("Chart 6").Activate
ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Values = Rng.Resize(, NumCols + 1)
ActiveChart.SeriesCollection(1).XValues = Rng.Resize(, NumCols + 1)
End Sub
我想是这样的withouth的成功:
Set Rng = Worksheets("Sheet1").ChartObjects("Chart 6").SeriesCollection(1)
Set Rng = Worksheets("Sheet1").ChartObjects("Chart 6").SeriesCollection(1).Values
谢谢您的帮助!
究竟是你想设置一个'Range'到'的SeriesCollection(1)'?你的'Rng'动态到底如何?它转向哪里?什么列或行? –
系列集合的范围从A12开始:M12。每天我都会在右侧添加一个新的数据列,即第1天= A12:N12,第2天= A12:O12。添加的数据应该通过宏包含在图表中。仅供参考:我有很多图表,最后我想通过宏观更新。我只需要弄清楚如何做到这一点的原则。如果你问我“你是如何设置范围到SeriesCollection(1)”的。这无疑是我的问题;-) – glamdring