2011-03-22 3 views
0

Microsoft.Office.Interop.Excel을 사용하여 Excel 분산 형 차트를 만들려고합니다. 2 데이터 범위가 있습니다.편집 Excel에서 차트 데이터 범위를 C#

Range chartRange1 = xlWorkSheet.Range["A1", "B5"]; 
Range chartRange2 = xlWorkSheet.Range["A6", "B10"]; 

2 점 세트입니다. "A"열은 x 좌표를 지정하고 "B"열은 y 좌표를 지정합니다. I 차트이 방법으로 만들면 는 :

 chartPage.ChartType = Excel.XlChartType.xlXYScatter; 

     var seriesCol = chartPage.SeriesCollection(misValue); 

     seriesCol.add(chartRange1, misValue, misValue, misValue, misValue); 
     seriesCol.add(chartRange2, misValue, misValue, misValue, misValue); 

를 I은 X와 점 4 개 세트를 1 내지 5 조정하세요 Y는 범위로 지정된 좌표 A1 - A5, B1 - B5, A6 - A10, B6 - B10.

"A"열에 x 좌표가 정의되고 "B"에 y 좌표가 정의 된 2 세트의 점이 차트에 포함될 수 있습니까?

감사합니다.

답변

0

이 내용을 VBA에서 사용자 고유의 구문으로 변환해야합니다. 당신은 하나의 시리즈, 당신이 한대로하지 두를 추가 할

Function Add(Source, [Rowcol As XlRowCol = xlColumns], 
[SeriesLabels], [CategoryLabels], [Replace]) As Series 

다음과 같이

SeriesCollection 개체의 Add 메서드입니다. 따라서 두 범위의 합집합을 기반으로 범위를 정의해야합니다. VBA에서 :

Set ChartRange = Union(ChartRange1, ChartRange2) 

그런 다음 당신은 아마 (당신의 구문)를 사용할 수 있습니다 내가 CategoryLabels의 가치에 대한 진정한 사용했습니다

seriesCol.add(chartRange, misValue, misValue, True, misValue); 

은 X로 첫 번째 열을 사용하여 Excel을 강제로 시도 값.

때로는 새로운 차트가있는 VBA에서 올바르게 작동하지 않습니다. 이 경우 Y 값을 사용하여 계열을 추가 한 다음 X 값을 적용해야합니다. 첫 번째 줄은 구문이고 두 번째 줄은 순수한 VBA입니다.

seriesCol.add(chartRange2, misValue, misValue, misValue, misValue); 

seriesCol(1).XValues = ChartRange1