• ベストアンサー

EXCEL2010 VBA 複数の条件のグラフ

EXCEL2010のVBAでグラフを作成するコードを作成しています。 そのグラフでは指定した値で系列の数が変わります。 初期設定シートで指定値1と2を確認して指定値1が系列の数、指定値2がデータ範囲となります。 データ範囲はB列のB1から指定値2の数だけ下に増えます。 Sheet1にグラフを新規作成します。 (例) 指定値(A1):1の時 指定値(A2):20 グラフに表示される系列:(B1:B20) (例2) 指定値(A1):2の時 指定値(A2):20 グラフに表示される系列:(B1:B20)と(B21:B40) 説明が分かり辛いかもしれませんがよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

昨日のマクロの,単純なバリエーションです。 sub macro2()  dim c as chart  dim i, a, b  a = worksheets("Sheet1").range("A1")  b = worksheets("Sheet1").range("A2")  if a * b = 0 then exit sub  worksheets.add  set c = activesheet.shapes.addchart.chart  c.charttype = xllinemarkers  for i = 1 to a  c.seriescollection.add worksheets("Sheet1").range("B1").resize(b, 1).offset((i - 1 )*b)  next i end sub

Not_Pro
質問者

お礼

回答ありがとうございます。 無事にできました。本当にありがとうございました。

Not_Pro
質問者

補足

一か所だけ気になったのですが c.seriescollection.add worksheets("Sheet1").range("B1").resize(b, 1).offset((i - 1 )*b) の部分でrange("B1")となっていますが、これだと繰り返しで2度目や三度目の処理の際にも毎回B1の部分からresizeやoffsetがかかるのではないのですか?理解できずすみません。教えていただけると助かります。