Excel VBA通过string名称参考图表系列集合
我有需要引用一个名字的系列集合。 系列collections的MSDN对象模型页面可以使用索引或名称。 但是,当我尝试使用stringvariables时,我得到错误1004“无效的参数”:
Dim sSeriesName As String dim aRootCats() as string Dim cSeriesCol As SeriesCollection For x = 0 To UBound(aRootCats) sSeriesName = aRootCats(x) Set cSeriesCol = cChart.ChartGroups(1).SeriesCollection(sSeriesName) Next x
我也尝试了以下内容:
sSeriesName = CStr(aRootCats(x)) ' just in case, because I filled this array with variant data type earlier Set cSeriesCol = cChart.ChartGroups(1).SeriesCollection(sSeriesName)
和
Set cSeriesCol = cChart.ChartGroups(1).SeriesCollection(aRootCats(x))
和
Set cSeriesCol = cChart.ChartGroups(1).SeriesCollection("Product Support")
更新:我也遇到了同样的错误循环在系列集合:
For c = 1 To cChart.ChartGroups(1).SeriesCollection.Count Set cSeriesCol = cChart.ChartGroups(1).SeriesCollection(c) Next c
有任何想法吗?
非常感谢。
因为您使用ChartGroup而不是Chart,所以必须使用SeriesCollection
的Item
属性,并且必须传递一个变体。 使用任一:
cChart.ChartGroups(1).SeriesCollection.Item(1)
要么:
cChart.ChartGroups(1).SeriesCollection.Item(CVar(sSeriesName))
(或者将variables声明为Variant而不是String)