- ベストアンサー
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
- みんなの回答 (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
その他の回答 (1)
- mitarashi
- ベストアンサー率59% (574/965)
参考URLの4をご覧下さい。
お礼
早速のご解答ありがとうございます! このサイトには気づきませんでした! 参考にさせていただきます。
お礼
Wendy02様 ありがとございます!! 完璧にできました!! すごい(泣)! 本当に助かりました!