みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Excel VBA で表の参照先を一気に変更させるには?

複数のsheetに規則正しくデータと表が配置されているとします。で以下のようなデータの縦棒の表があるとします。

*データ*
A B
1 4
2 2
3 8
4 5
5 1

『グラフ』 - 『元のデータ』で参照先を見ると…
=Sheet1!$A$1:$B$6

追加で 例>+5件のデータが加わったとします。
※一部のsheetだけではなく、全てのsheetで追加です。

*データ追加*
6 3
7 3
8 1
9 8
10 7

グラフの参照先
=Sheet1!$A$1:$B$11

複数のsheetにまたがると、手作業で追加データを追加していて大変手間が食ってしまい困っています。Excel VBA で表の参照先を一気に変更させる方法ありますでしょうか? アドバイスよろしくお願い致します。

 

投稿日時 - 2005-01-17 01:34:59

QNo.1171467

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

これはつまりグラフの参照先の変更ということですよね?
データの追加の度に参照先を変更するのではなく、
初めから
=Sheet1!$A$1:$B$30000
というようにデータの追加を充分に許容できる値にしておくというのはダメですか?

的外れだったらすいません。

投稿日時 - 2005-01-18 12:29:07

ANo.1

条件が不明確なので参考程度にして下さい。
試すならコピーブックなどのテスト環境で。

全シートの全グラフをスタート時にアクティブになっているシートの選択したセル範囲にします。

Sub aaa()
Dim myAd As String, ws As Worksheet, myChart As ChartObject
 myAd = Selection.Address
 For Each ws In Worksheets
  For Each myChart In ws.ChartObjects
   myChart.Chart.SetSourceData
      _Source:=ws.Range(myAd), PlotBy:=xlColumns
  Next myChart
 Next ws
End Sub

投稿日時 - 2005-01-17 08:01:51

お礼

お礼遅れてすみません(^_^;
>_Source:=ws.Range(myAd), PlotBy:=xlColumns 
の行がエラー起こしていましたが…、『_』 をスペースに変更した事により上手く処理できるようになりました。アドバイスありがとうございました。

投稿日時 - 2005-01-29 03:49:10

あなたにオススメの質問