none
매크로를 이용한 차트의 범위 설정

    질문

  • 안녕하십니까.

    엑셀의 매크로를 이용하여 간단한 프로그램을 만들고 있는 사용자 입니다.

    매크로를 이용하여 차트를 그리는 것은 쉽게 했는데

    그려진 차트의 데이터 범위를 30초에 한번씩 바꾸고 싶은데 쉽게 되지 않습니다.

    아래는 소스는 매크로 기록을 이용한 자료입니다.

     

    ActiveChart.SeriesCollection(5).Select

    ActiveChart.SetSourceData Source:=Range("G18:H20")

     

    제가 위의 소스를 사용하는데 문제점은,

    Range를 실시간으로 바꾸어야 한다는 것입니다.

    예를들어 현재의 Range가 "G18:H20" 이라면

    현재부터 30초 후의 Range는 "G18:H21"

    현재부터 1분 후의 Range는 "G18:H22"

    .

    .

    .

    위의 방법으로 Range를 실시간으로 변경해야 합니다.

    그래서 제가 생각한 방법으로 소스를 적으면

     

    Set Row_expand as range

    Row_cnt = Row_cnt+1

    ActiveChart.SetSourceData Source:=Row_Expand.offset(Row_cnt,0)

     

    소스의 핵심만 적으면 위와 같습니다.

    30초에 한번씩 Data Refresh가 되도록 하였구요,

    Row_cnt는 30초에 한번씩 +1되는 것은 확인 되었습니다.

    그런데 위의 소스는 코딩 에러가 있다고 나옵니다.

    그래서 다른방법으로

     

    sheet1.chartobjects(1).chart.Source=Row_Expand.offset(Row_cnt,0)

     

    위의 방법으로 해보았는데 이것 또한 에러가 납니다.

    제 생각엔 Range를 설정하는데 무엇인가 잘못되고 있는 것 같습니다.

    위의 문제를 해결하고 제 생각대로 프로그램을 개발하려면

    어떻게 해야 하는지 알려주십시오.

     

    위의 문제로 거의 1주일 정도 머리 싸매고 고민하고 있습니다 ㅜㅜ

    부탁드립니다.

    2011년 3월 30일 수요일 오전 8:10