1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

[레벨:30]아별

2011.08.26 15:40

아.. 괜찮습니다. ^_^;;

다음에 질문하실때 참고하시라고 적은 겁니다. 처음엔 다들 그래요.. ㅎㅎ

 

차트를 "서식 파일로 저장"하신 다음, 불러오는 방법은..

이 경우에는 적합하지 않은 것 같습니다.

 

차트를 한개 이쁘게 만드신 다음,

차트 선택 후 Ctrl+C로 복사하신 다음,

다른 데이터가 있는 셀 옆에 붙여넣기 하시면 동일한 디자인의 차트가 생깁니다.

이때 문제는 데이터 원본 데이터를 하나씩 변경해줘야한다는 건데요..

이럴때 필요한게 바로.. VBA입니다. ㅎㅎ

 

첨부파일을 다운 받으시고, "차트의 데이터 영역 일괄 변경"이라는 명령 단추를 눌러보세요..

각 차트의 왼쪽위셀(즉, 차트가 위치한 셀)을 기준으로 왼쪽으로 2번째부터 4번째셀 범위를 데이터 영역으로 설정해줍니다.

다운받기 : abyul.com_20110824_Chart-3.xlsm

 

VBA코드는 아래와 같으니,

비슷한 유형의 업무에 참고하시기 바랍니다.

 

감사합니다.

 

Sub chartChangeDataSource()
    Dim rngRef As Range
    Dim rngData As Range
    Dim objEach As Object

    '### 현재 시트의 오브젝트를 순환하면서..
    For Each objEach In ActiveSheet.Shapes
        '### 해당 오브젝트가 차트라면..
        If objEach.HasChart = msoTrue Then
            '### 해당 차트 위치의 셀을 기준점(rngRef)로 지정
            Set rngRef = objEach.TopLeftCell
            '### 기준점을 기준으로 왼쪽 4번째부터 2번째까지를 셀영역 설정
            Set rngData = Range(rngRef.Offset(0, -2), rngRef.Offset(0, -4))
            '### 설정된 셀영역을 차트의 데이터 영역으로 설정 & 차트를 열기준으로 변경                                    
            objEach.Chart.SetSourceData Source:=rngData, PlotBy:=xlColumns
        End If
    Next objEach

End Sub

 

 

미리보기..

abyul.com_Lecture_Chart_20110826-1.jpg

 

 

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)