お疲れ様です。
Takkoです。
現在VBA学習中の物です。
下記コードはグラフに対して、
系列を4つ、そのデータの参照範囲を指定した部分のプログラムです。
vba
1Set actChart = ActiveSheet.ChartObjects(targetGraph).Chart 2 actChart.SetSourceData Source:=Range("A51:A" & Range("A51").End(xlDown).row & ",B51:B" & Range("B51").End(xlDown).row) 3 With actChart.SeriesCollection(1) 4 .XValues = Range("A52:A" & Range("A52").End(xlDown).row) 5 .Values = Range("B52:B" & Range("B52").End(xlDown).row) 6 .name = Range("B51") 7 End With 8 9 actChart.SeriesCollection.NewSeries 10 With actChart.SeriesCollection(2) 11 .Values = Range("C52:C" & Range("C52").End(xlDown).row) 12 .name = Range("C51") 13 14 End With 15 16 actChart.SeriesCollection.NewSeries 17 With actChart.SeriesCollection(3) 18 .Values = Range("D52:D" & Range("D52").End(xlDown).row) 19 .name = Range("D51") 20 End With 21 22 actChart.SeriesCollection.NewSeries 23 With actChart.SeriesCollection(4) 24 .Values = Range("E52:E" & Range("E52").End(xlDown).row) 25 .name = Range("E51") 26 End With
ここで質問が二点
Q1
横軸の指定はSeriesColection(1)のXValueの箇所で指定している範囲だと分かるのですが、
縦軸の指定がドコで行われているのかがわかりません。
SetSorceDataのSorceで自動的に作成されているのでしょうか。
Q2
第二縦軸を作成したい場合はどのように設定すればよいでしょうか。
SiriesCollectionで
.AxisGroup = 2 を指定すれば第二縦軸を使用してグラフ作成を出来るようなことが調べてわかったのですが、
そもそも第二縦軸が設定されておらず、うまくいきません。
補足
SeriesCollection(1)は第一横軸、第一縦軸により折れ線グラフが作成されています。
SeriesCollection(1)以外のデータは第一横軸、第二縦軸を使用して折れ線グラフを作成したいですが、
現状第一縦軸を使用しているため、画像のように、データのサイズ的に全て横ばいになっています。
よろしくお願い致します。
追記
質問投稿時のイメージで画像が張れませんでした。
どうすればイメージを張れますか。
考察
Xvalueの指定が出来るのであればYValueでできるのではと思いましたが、
第二だとどうすればよいのでしょう。
試したこと。
vba
1Set actChart = ActiveSheet.ChartObjects(targetGraph).Chart 2 actChart.SetSourceData Source:=Range("A51:A" & Range("A51").End(xlDown).row & ",B51:B" & Range("B51").End(xlDown).row) 3 With actChart.SeriesCollection(1) 4 .XValues = Range("A52:A" & Range("A52").End(xlDown).row) 5 .Values = Range("B52:B" & Range("B52").End(xlDown).row) 6 .name = Range("B51") 7 .ChartType = xlLine 8 End With 9 10 actChart.SeriesCollection.NewSeries 11 With actChart.SeriesCollection(2) 12 .Values = Range("C52:C" & Range("C52").End(xlDown).row) 13 .name = Range("C51") 14 .ChartType = xlLine 15 .AxisGroup = xlSecondary 16 End With 17 18 actChart.SeriesCollection.NewSeries 19 With actChart.SeriesCollection(3) 20 .Values = Range("D52:D" & Range("D52").End(xlDown).row) 21 .name = Range("D51") 22 .ChartType = xlLine 23 .AxisGroup = xlSecondary 24 End With 25 26 actChart.SeriesCollection.NewSeries 27 With actChart.SeriesCollection(4) 28 .Values = Range("E52:E" & Range("E52").End(xlDown).row) 29 .name = Range("E51") 30 .ChartType = xlLine 31 .AxisGroup = xlSecondary 32 End With
グラフが棒グラフになるように設定。
第二軸の設定(エラーになるけど)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。