- ベストアンサー
エクセルのマクロで一気に線のグラフを作成する方法
- エクセルのマクロを使用して、線のグラフを一気に作成する方法について教えてください。
- 具体的には、A列の289行がX軸となり、B列からIV列の289行がY軸となる線のグラフを255本作成する方法を知りたいです。
- 手作業で一つずつ作るのは手間がかかるため、効率的にマクロを使って一気に作成する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
255個も作れないだろう...と思い、論より証拠でやってみましたが、データがとても少ないグラフシートなら、254個作れました。自動記録を手直ししたコードですが、#1とは別の切り口でやっています。 まず、Sheet1のA列と、B列で、ご希望のグラフをSheet1に作ります。このグラフをコピー&ペーストし、複製のグラフの系列を選択して、列を示す部分を変更した後、グラフの場所を新規グラフシートに変更するという操作を、ループを回して処理できる様にアレンジしたものが下記のコードです。(冗長なところは削っています)なお、当方xl2000です。 Sub test() Dim i As Long Const seriesFormula As String = "=SERIES(Sheet1!R1C2,Sheet1!R2C1:R289C1,Sheet1!R2C2:R289C2,1)" For i = 1 To 254 Sheets("Sheet1").Select ActiveSheet.ChartObjects(1).Activate ActiveChart.ChartArea.Copy Range("A1").Select 'これを削ったら、グラフ 1が消えてしまった ActiveSheet.Paste ActiveChart.SeriesCollection(1).Formula = Replace(seriesFormula, "C2", "C" & (i + 1)) ActiveChart.Location Where:=xlLocationAsNewSheet Next i End Sub しかしながら、グラフシートを沢山作ってみても、同時に見られる訳で無し、選択も厄介という事で、あまり意味が無いと思います。シート上のグラフで、とあるセルに列番号を入力すると、それに応じてグラフ書き直しといった姿の方が、実用的だと思います。
その他の回答 (1)
- nattocurry
- ベストアンサー率31% (587/1853)
メニューから「ツール - マクロ - 新しいマクロの記録」で、操作内容をマクロとして記録することができます。 まずは、(A列、B列)のグラフを手動で作って、その動作をマクロに記録してみましょう。 そして次に(A列、C列)で動揺のことをしてみましょう。 その2つの違いを見つければ、それ以降のグラフも、マクロ記録しないで、既に記録されたマクロを少し修正するだけで作れます。 そのやりかただと、マクロを255個作ることになります。 それを、変数と繰り返し構文を使うことによって、1個のまくろで255個のグラフを作ることができるようになります。 変数や繰り返し構文(ループ構文)は、基本なので、これを機に勉強しましょう。