2012-11-13 79 views
6

我寫的VBA代碼在圖形命名系列:如何使用vba查找系列名稱?

ActiveChart.SeriesCollection(1).name = "SPEC" 
ActiveChart.SeriesCollection(2).name = "manju" 

我的問題是,我想使用VBA代碼,以查找特定的系列名。 在上面的代碼中我有兩個系列。 現在我想通過使用vba代碼找到系列名稱(manju)。

+0

沒有任何理由爲什麼'MSGBOX(ActiveChart.SeriesCollection(2)。名稱)'不會工作? –

+0

@lynn crumbling謝謝 –

+0

@LynnCrumbling我想搜索所有的系列,因爲每次它會在不同的位置 –

回答

9

要通過傳遞名字,你可以訪問SeriesCollection()

MsgBox ActiveChart.SeriesCollection("manju").Name 

這是可能的,因爲indexSeriesCollection(index)實際上Variant類型是爲了讓編譯器的工作原理,如果你傳遞一個String類型和試圖訪問它的名稱或如果您通過Long/Integer或任何其他數字數據類型)來訪問該枚舉器。

或迭代的SeriesCollection,比較反對 「饅頭」 當前名稱:

For i = 1 to ActiveChart.SeriesCollection.Count 
    If ActiveChart.SeriesCollection(i).name = "manju" Then 
     MsgBox "Found it!" 
     Exit for 
    End if 
Next 
+0

林恩,這是否意味着你不能訪問該系列的名稱? – rrs

+3

@rrs更正 - 既不是'.Item()'方法也不是索引器支持一個字符串......只是一個索引號。 –

+1

對於Office 2007(我沒有檢查過早期版本),您絕對可以通過它的名稱訪問'SeriesCollection'。即'ActiveChart.SeriesCollection(「manju」)''。請參閱這裏指出它的Office 2010文檔:http://msdn.microsoft.com/en-us/library/office/ff836171%28v=office.14%29.aspx – CuberChase