2012-12-10 4 views
1

나는 내 엑셀 시트에서 적절한 전설을 얻기 위해 시도 그리고 난 VBA에서SeriesCollection.Name을 범위로 설정 하시겠습니까? 엑셀

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