2012-12-10 35 views
1

我試圖從我的excel表格中得到適當的傳奇人物,我試圖使用VBA的SeriesCollection.Name to Range? Excel中

SeriesCollection(1).Name 

方法創建的傳說。我在做什麼看起來像這樣

ActiveChart.SeriesCollection(1).Name = Range(" some range ").Text 

但是,這給了我類型不匹配的錯誤。關於這個問題的任何想法?或者我可以怎樣去做這個不同的方式?

回答

2

是否僅指一個單元格的範圍?在任何情況下,可以編寫:

ActiveChart.SeriesCollection(1).Name = Range("RangeName").Cells(1, 1).Value 
+0

不,這是一個整體的範圍..從A到Z說讓我解釋的問題。我在圖例名稱下方有幾行數據,因此我繪製了數據圖形,然後嘗試添加圖例以識別圖表上的數據。 –

+0

+ 1丟棄我的回答:) –

+0

@LeeJacobs:如果圖例是該範圍中的第一個單元格,那麼請使用我的答案。如果它是該範圍內的其他行,則必須更改'Cells'參數中的第一個數字:'.Cells(yourRow,1)' – martin

0

如果引用的是陣列(範圍的多個小區的),你會通過數組必須環並連接所有的單個細胞的值成一個單一的字符串變量,以及然後使用該字符串變量設置ActiveChart.SeriesCollection(1).Name

Dim myString as String 'Declare a string variable to concatenate the range values 
Dim rng as Range  'This is your range variable 
Dim cell as Range  'this will be a cell range within rng 

Set rng = Range(" some range ") 
For each cell in rng 
    myString = myString & cell.Value 
Next 

ActiveChart.SeriesCollection(1).Name = myString