tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Chartのデータ範囲を返してくれるメソッド/プロパティ
投稿日: 2008/06/11(Wed) 11:56
投稿者ダンボ
EXCELグラフから作成コードを - ダンボ 08/05/30-17:59 No.12410
http://hanatyan.sakura.ne.jp/vb60bbs/wforum.cgi?mode=allread&no=12410&page=0
からの続質問です。(EXCEL2000 VBAです)

グラフに限らず、行・桁サイズ/各種コントロールの位置なども多数シートで統一する
必要が出てきたので、るしぇ さんのご提案どおりModelシートを隠しておいて各シート
に反映(更新)させるマクロを作っています。

Private Sub CopyGRF(WS As Worksheet)
    Dim ModelGRF As ChartObject, OLDGRF As ChartObject, NEWGRF As ChartObject
    Set ModelGRF = ThisWorkbook.Worksheets("Model").ChartObjects(1)
    Set OLDGRF = WS.ChartObjects(1)
    Application.ScreenUpdating = False
    OLDGRF.Delete
    ModelGRF.Copy
    WS.Paste
    Set NEWGRF = WS.ChartObjects(1)
    NEWGRF.Left = ModelGRF.Left
    NEWGRF.Top = ModelGRF.Top
    NEWGRF.Chart.SetSourceData Source:=WS.Range("C4:H12"), PlotBy:=xlColumns
    Application.ScreenUpdating = True
End Sub

これで一応期待する動作にはなるのですが、SetSourceData のRange("C4:H12")が直接値
で嫌です(拡張性が無い)
ModelGRF.Chartのデータ範囲を返してくれるメソッド/プロパティは無いでしょうか?
それが分かれば、
    NEWGRF.Chart.SetSourceData Source:=WS.Range(SRC.Address), PlotBy:=xlColumns
のようにModelのグラフだけ直せば良くて、CopyGRFを直す必要が無くなりますので。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。