2014-06-11 1 views
0

기존에 붙여 넣기를 나는 다음 스크린 샷에 표시된 옵션을 사용하여 기존 차트에 데이터의 범위를 붙여 VBA를 사용하고 싶습니다 이렇게 수동으로 코드를 ActiveChart.Paste 상태. 따라서이 코드를 다시 실행하면 '첫 번째 행의 시리즈 이름'이 비활성화 된 상태로 시리즈가 정기적으로 붙여 넣어집니다. 이 코드를 올바르게 코딩하려면 어떻게해야합니까? 나는 지금까지 나의 연구에서 많은 도움을 얻지 못했다.VBA가 차트

+0

SeriesCollection 개체에 액세스해야한다고 생각합니다. 참조하십시오. [MSDN] (http://msdn.microsoft.com/en-us/library/office/aa195817(v=office.11).aspx) – L42

+0

@ L42 감사합니다. 그러나이 방법론이 다른 것처럼 보입니다. Excel 2010에서 표현식을 가져올 수 없습니다. 붙여 넣기 (Rowcol, SeriesLabels, CategoryLabels, Replace, NewSeries) 코드가 작동합니다. Selection.PasteSpecial 메서드 구문으로 전환했는지 이해할 수 있습니까? –

+0

아니요. 나는 그렇게 생각하지 않는다. 내 예를 보아라. :) – L42

답변

1

글쎄, 난 간단한 코드를 시도하고 작동합니다.
는 다음과 같은 데이터가 있다고 가정하면 간단한 클러스터 세로 막 대형 차트를 만들어 :

enter image description here

지금 당신이 특별한 데이터 2를 붙여 당신의 스크린 샷과 같이합니다. 내 말에 작동
VBA 코드는 다음과 같습니다 :

Sub test() 
    Dim ch As Chart: Set ch = Sheet1.ChartObjects(1).Chart 
    Range("A1:A4,C1:C4").Copy '~~> you need to include the x axis labels when copying 
    ch.SeriesCollection.Paste RowCol:=xlColumns, SeriesLabels:=False, _ 
     CategoryLabels:=True, Replace:=False, NewSeries:=True 
End Sub 

결과 :

enter image description here

내가 작업중인 차트 모르는 또는 당신이 원하는 어떻게 구성 .
위는 복사를 실행하고 차트을 존재하는 범위에서 데이터의 특수 붙여 넣기하는 방법을 보여줍니다. HTH