|
▼lol さん:
>こんにちは!VBA初心者です(__)
>
>下記のマクロはグループごとにシートが作成されるため、シートの数が100を越えてしまいます。なのでこれらのデータを一枚のシートに納めたいのですが、
コードをみると、データはグループごとにまとまっていて、2行目から下へ
ループしていって、上と異なるグループに入ったら、直前のグループについて
新規シートに そのグループの最初の行start_grp から 現在行の1行前(i-1) まで
行データを転記し、
転記されたシートのほうで 折れ線グラフを作成しているようです。
なので、グループごとにシートに分けないということは、グループの変わり目で
新規シートを作ってそこにグラフを作るという処理を、
グループの変わり目を見つけたら、シートは作らず、元のシート上に グラフを
描く処理だけ マクロにすればいいということになります。
ただし、グラフの系列名は 元シートの1行目だけにあるので、グラフの元データ範囲 は 大まかにいうと、 元シートの
> (start_grp & ":" & i - 1)
の範囲を指定して SetDataSourceして、各系列の名前はあとから 1行目をセット
するようにしてやるとうまく行くと思います。
グラフの「系列データ」メニューで 「名前」のセルをセットする操作のマクロ
記録を採ってみてください。
|
|