
可変の範囲を持つ折れ線グラフを作成したいのです。
グラフウィザードでデータ範囲を
=エクセルファイル1.xls!valueとして(範囲をvalueとして名前定義しています。データがある行までを範囲指定するものです)
実行すると、一見正しく表示されているのですが
表のデータが増えたりしても範囲を変更してくれません。
グラフを右クリックして元のデータを見てみると、先程
=エクセルファイル1.xls!valueと指定したところが具体的な範囲(A10:G20)等に変わってしまっていました。
最初にグラフを作成したときの範囲がずっと反映されるようなのです。
私は常に=エクセルファイル1.xls!valueの範囲を反映させてほしいのですが……
具体的にどういう方法があるのでしょうか……
No.1ベストアンサー
- 回答日時:
qa4939552.htmlではうまく伝わらなかったようですね。
[名前定義]を使う可変範囲グラフは、『系列ごとに』名前を定義する必要があります。
それにSetSourceDataでセットするのではありません。
http://office.microsoft.com/ja-jp/excel/HA011098 …
のようにSERIES関数を使います。
系列データだけの簡易なサンプル。
Sub try_1() 'サンプルシート作成
Const y As Long = 10 'サンプルデータ初期行数
Const x As Long = 5 'サンプル系列数
Dim cht As Chart
Dim i As Long
Dim s As String
With Sheets.Add
'サンプルデータ作成
With .Range("A1").Resize(y, x)
.Formula = "=INT(RAND()*100)"
.Value = .Value
End With
'グラフ作成
s = .Name & "!"
Set cht = .ChartObjects.Add(.Cells(1, x + 1).Left, 0, 500, 300).Chart
cht.ChartType = xlLine
For i = 1 To x
'[名前定義]
.Names.Add "系" & i, "=OFFSET($A$1,0," & i - 1 & ",COUNTA($A:$A))"
cht.SeriesCollection.NewSeries.FormulaR1C1 = "=SERIES(,," & s & "系" & i & ",)"
Next
End With
Set cht = Nothing
End Sub
系列の名前やx軸も設定するサンプル。
Sub try_2() 'サンプルシート作成
Const y As Long = 10 'サンプルデータ初期行数
Const x As Long = 5 'サンプル系列数
Dim cht As Chart
Dim i As Long
Dim s As String
Dim v
With Sheets.Add
'サンプルデータ作成
.Range("A1").Value = "回"
.Range("B1").Resize(, x).Formula = "=ADDRESS(ROW(),COLUMN(),4)"
.Range("A2").Resize(y).Formula = "=ROW(A1)"
.Range("B2").Resize(y, x).Formula = "=INT(RAND()*100)"
With .Range("A1").CurrentRegion
.Value = .Value
End With
'グラフ作成
s = .Name & "!"
Set cht = .ChartObjects.Add(.Cells(1, x + 2).Left, 0, 500, 300).Chart
cht.ChartType = xlLine
.Names.Add "回", "=OFFSET($A$1,1,0,COUNTA($A:$A))"
For i = 1 To x
'[名前定義]
.Names.Add "ラベル" & i, "=OFFSET($A$1,0," & i & ")"
.Names.Add "系" & i, "=OFFSET($A$1,1," & i & ",COUNTA($A:$A))"
v = Array(s & "ラベル" & i, s & "回", s & "系" & i, i)
cht.SeriesCollection.NewSeries.FormulaR1C1 = "=SERIES(" & Join(v, ",") & ")"
Next
End With
Set cht = Nothing
End Sub
#VBAコードのサンプルではありません。
#[名前定義]を使った可変範囲グラフのサンプルです。
#できあがったグラフの[元のデータ]-[系列]タブ内容と、
#系列を選択して数式バーに表示されるSERIES関数と、
#[名前定義]を参照して理解してください。
ありがとうございます!!
VBAを実行して正しく動くことを確認しましたが
自分の知識ではプログラムの内容を理解するのにまだ
時間がかかりそうです
しかし時間がかかっても少しずつ読み取っていこうと思います!
長文本当に感謝しています、ありがとうございました^^
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
coPilotにかけられた、制限(?...
-
soc、マイコン、ARM、組み込み...
-
マイナー保健証で、紙の時より...
-
youtubeで、意図しない...
-
世界中で、人気のある、1000万...
-
X線解析装置の出力、オートロッ...
-
LinuxではUTF8のBOMなし、UTF8...
-
教えてください Windows11で暗...
-
ノートパソコンを落としてしま...
-
ハッシュ値はGitHubに書いてあ...
-
rsyncをインストールするとssh...
-
microSDカードと外付けSSDって...
-
スマホのUSBポートやタブレット...
-
PCで、「リストナビゲーター」...
-
至急です。 電源入れたままSIM...
-
ワード作成した名刺の大量印刷...
-
宮崎駿作品集15枚組を購入した...
-
職場のノートパソコンを起動す...
-
プログラミング言語やシェルを...
-
チャットgptについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
soc、マイコン、ARM、組み込み...
-
宮崎駿作品集15枚組を購入した...
-
ワード作成した名刺の大量印刷...
-
教えてください Windows11で暗...
-
ノートパソコンを落としてしま...
-
Debianをノートパソコンにイン...
-
パスワードをハッシュ値にして...
-
至急です。 電源入れたままSIM...
-
AI を おちょくる質問
-
ハッシュ値はGitHubに書いてあ...
-
GitHubの使い方が分からないの...
-
GitHubはオープンソースのプロ...
-
AndroidはLinuxディストリビュ...
-
LinuxではUTF8のBOMなし、UTF8...
-
サーフェスについて、「再起動...
-
電線からインターネットに接続...
-
UQモバイルやLINEモバイルやmin...
-
ドコモやソフトバンクやauやLIN...
-
プログラミングで気をつけるべ...
-
SIMのように電線を使わずにイン...
おすすめ情報