タイトル : 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を直す必要が無くなりますので。 |