• ベストアンサー

EXCELで、範囲を検出してグラフを作成するマクロを作りたい!

いつも本当にお世話になっております。 現在、データの範囲を検出して、グラフを作成するマクロを記録させて作っています。 ところが、範囲が固定されてしまい難儀しています。 下にそのマクロを転記いたしますので、ご指摘、ご指導頂ければと存じます。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2008/3/11 ユーザー名 : acmr ' ' Sheets("元データ入力").Select 上 = 3 左 = 1 下 = Range(Cells(上, 左), Cells(上, 左)).End(xlDown).Row 右 = Range(Cells(上, 左), Cells(上, 左)).End(xlToRight).Column Range(Cells(上, 左), Cells(下, 右)).Select Selection.Sort Key1:=Range("B4"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin Charts.Add ActiveChart.ChartType = xlXYScatter ActiveChart.SetSourceData Source:=Sheets("元データ入力").Range("A3:C459"), PlotBy _ :=xlColumns ActiveChart.SeriesCollection(1).Delete ActiveChart.SeriesCollection(1).XValues = "=元データ入力!R4C2:R459C2" ActiveChart.SeriesCollection(1).Name = "" ActiveChart.Location Where:=xlLocationAsObject, Name:="元データ入力" ActiveChart.HasLegend = False End Sub

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 グラフの中では、散布図は、VBAで違う手順を持つものですから、他のグラフと同じように出来ないことがあります。今回は、質問の内容の形を維持したつもりですが、あまり自信がありません。 また、これは、Excelのバージョンにも依存します。こちらは、Excel 2003 で作られていますが、そうでない場合は、お知らせください。 グラフのマクロは、本当に分かりにくいです。 ----------------------------------------------------- Sub Macro2()   Dim r As Range   Sheets("元データ入力").Select   '基点は、A3, 列はC列までという前提     Set r = Range("A3").CurrentRegion    With r     .Sort Key1:=.Cells(2, 2), _     Order1:=xlAscending, _     Header:=xlYes, _     OrderCustom:=1, _     MatchCase:=False, _     Orientation:=xlTopToBottom, _     SortMethod:=xlPinYin    End With   With Charts.Add     .ChartType = xlXYScatter     .SetSourceData Source:=r, _     PlotBy:=xlColumns     .Location Where:=xlLocationAsObject, Name:="元データ入力"   End With   With ActiveChart '仕切り直し     .HasLegend = False     .SeriesCollection(1).Delete     .SeriesCollection(1).XValues = _     "=" & r.Parent.Name & "!" & r.Columns(2).Offset(1).Resize(r.Columns(2).Rows.Count - 1).Address(1, 1, xlR1C1)     .SeriesCollection(1).Name = ""   End With   Set r = Nothing End Sub

acmr
質問者

お礼

Wendy02様 ありがとございます!! 完璧にできました!! すごい(泣)! 本当に助かりました!

その他の回答 (1)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

参考URLの4をご覧下さい。

参考URL:
http://park11.wakwak.com/~miko/Excel_Note/25-01_graph.htm
acmr
質問者

お礼

早速のご解答ありがとうございます! このサイトには気づきませんでした! 参考にさせていただきます。

関連するQ&A