[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/08/19(Fri) 17:27
投稿者名:まゆ
Eメール:
URL :
タイトル:
エクセルグラフの範囲指定の仕方について
VBからエクセルのグラフを作成していますが、
どうしてもわからないことがあるので教えてください。

グラフのデータの範囲指定ですが、
    xlBook.ActiveChart.SetSourceData Source:=xlSheet.Range("A3:AO9"), PlotBy:=xlRows        
 の場合は・・・
    xlBook.ActiveChart.SetSourceData _
       Source:=xlSheet.Range(xlSheet.Cells(3, 1), xlSheet.Cells(9, 41)), PlotBy:=xlRows
 と書くのはわかるのですが、下記のようにタイトル行が離れている場合
    xlBook.ActiveChart.SetSourceData Source:=xlSheet.Range("A3:AO3,A10:AO18"),PlotBy:=xlRows
 rangeやcellsをどう使えばいいのでしょうか?

 宜しくお願いします。

投稿時間:2005/08/22(Mon) 15:22
投稿者名:るしぇ
Eメール:
URL :
タイトル:
Re: エクセルグラフの範囲指定の仕方について
マクロを記録してみた限り、タイトル行の指定は別処理でできるので
何の問題もないのでは?

投稿時間:2005/08/22(Mon) 17:26
投稿者名:YK
Eメール:
URL :
タイトル:
Re: エクセルグラフの範囲指定の仕方について
こんにちは。

こんな感じで

    Dim r1  As Excel.Range
    Dim r2  As Excel.Range

    Set r1 = xlSheet.Range("A3:AO3")
    Set r2 = xlSheet.Range("A10:AO18")

    xlBook.ActiveChart.SetSourceData _
                Source:=xlBook.Application.Union(r1, r2), _
                PlotBy:=xlRows

xlBook.Application.Unionはエクセルのインスタンスが書いてないのでこのように
しました。
エクセルのインスタンスがあれば
エクセルのインスタンス.Unionで宜しいです。

投稿時間:2005/08/22(Mon) 22:25
投稿者名:まゆ
Eメール:
URL :
タイトル:
ありがとうございました。
るしぇさま、YKさま 
回答をありがとうございました。
どちらも、うまくいきました。
るしぇさまの”タイトル行の処理”を別処理で
する事ができました。
YKさまの"Union"を使ってもうまくできました。
処理の早さなど、いろいろテストして
使わせていただきたいと思います。

お礼メール遅くなり申し訳ありませんでした。
ありがとうございました。