Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7207 / 13644 ツリー ←次へ | 前へ→

【40547】グラフのデータ範囲変更 タカシ 06/7/16(日) 11:23 質問[未読]
【40553】Re:グラフのデータ範囲変更 漂流民 06/7/16(日) 21:35 発言[未読]
【40556】Re:グラフのデータ範囲変更 タカシ 06/7/16(日) 22:39 回答[未読]
【40557】Re:グラフのデータ範囲変更 漂流民 06/7/17(月) 0:23 発言[未読]

【40547】グラフのデータ範囲変更
質問  タカシ  - 06/7/16(日) 11:23 -

引用なし
パスワード
   複数のグラフがあり、それぞれのグラフは次のように参照しています。
    
グラフA =Sheet1!$A$1:$A$100,Sheet1!$B$1:$B$100
グラフB =Sheet1!$A$1:$A$100,Sheet1!$C$1:$C$100
グラフC =Sheet1!$A$1:$A$100,Sheet1!$D$1:$D$100
 ・            ・
 ・            ・
これを
グラフA =Sheet1!$A$1:$A$200,Sheet1!$B$1:$B$200
グラフB =Sheet1!$A$1:$A$200,Sheet1!$C$1:$C$200
グラフC =Sheet1!$A$1:$A$200,Sheet1!$D$1:$D$200
 ・            ・
 ・            ・
に変更したいのですが、
For Each a In ActiveSheet.ChartObjects
     a.Select
ActiveChart.SetSourceData Source:=Sheets("Sheet1).Range("A1:A200,B1:B200")
Next a

のRange("A1:A200,B1:B200")の部分をどう書き換えればいいのかわからず、困っています。何卒お力添え頂きたいと思います。

【40553】Re:グラフのデータ範囲変更
発言  漂流民  - 06/7/16(日) 21:35 -

引用なし
パスワード
   ▼タカシ さん:
>複数のグラフがあり、それぞれのグラフは次のように参照しています。
>    
>グラフA =Sheet1!$A$1:$A$100,Sheet1!$B$1:$B$100
>グラフB =Sheet1!$A$1:$A$100,Sheet1!$C$1:$C$100
>グラフC =Sheet1!$A$1:$A$100,Sheet1!$D$1:$D$100
> ・            ・
> ・            ・
>これを
>グラフA =Sheet1!$A$1:$A$200,Sheet1!$B$1:$B$200
>グラフB =Sheet1!$A$1:$A$200,Sheet1!$C$1:$C$200
>グラフC =Sheet1!$A$1:$A$200,Sheet1!$D$1:$D$200
> ・            ・
> ・            ・
>に変更したいのですが、
>For Each a In ActiveSheet.ChartObjects
>     a.Select
>ActiveChart.SetSourceData Source:=Sheets("Sheet1).Range("A1:A200,B1:B200")
>Next a
>
>のRange("A1:A200,B1:B200")の部分をどう書き換えればいいのかわからず、困っています。何卒お力添え頂きたいと思います。

Dim gyo As String
gyo = "200"
For Each a In ActiveSheet.ChartObjects
  a.Select
  ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:A" & gyo & ",B1:B" & gyo)
Next a

でどうでしょう?

【40556】Re:グラフのデータ範囲変更
回答  タカシ  - 06/7/16(日) 22:39 -

引用なし
パスワード
   漂流民さん、回答ありがとうございます。
ただ、やりたかったことはグラフ全部を同じデータ範囲にするのではなく、
=Sheet1!$A$1:$A$100,Sheet1!$C$1:$C$100
を参照しているグラフは
=Sheet1!$A$1:$A$200,Sheet1!$C$1:$C$200
に変更し、
=Sheet1!$A$1:$A$200,Sheet1!$D$1:$D$200
を参照しているグラフは
=Sheet1!$A$1:$A$200,Sheet1!$D$1:$D$200
に変更したかったです。
説明不足で申し訳ありません。

【40557】Re:グラフのデータ範囲変更
発言  漂流民  - 06/7/17(月) 0:23 -

引用なし
パスワード
   ▼タカシ さん:
>漂流民さん、回答ありがとうございます。
>ただ、やりたかったことはグラフ全部を同じデータ範囲にするのではなく、
>=Sheet1!$A$1:$A$100,Sheet1!$C$1:$C$100
>を参照しているグラフは
>=Sheet1!$A$1:$A$200,Sheet1!$C$1:$C$200
>に変更し、
>=Sheet1!$A$1:$A$200,Sheet1!$D$1:$D$200
>を参照しているグラフは
>=Sheet1!$A$1:$A$200,Sheet1!$D$1:$D$200
>に変更したかったです。
>説明不足で申し訳ありません。

Dim gyo As String, i As Long
gyo = "200"
For i = 1 To ActiveSheet.ChartObjects.Count
  ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range(Cells(1, 1), Cells(gyo, i))
Next i

ではどうでしょう?

7207 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free