EXCELでグラフを作成しております。


100個ぐらい作成しなければならないのです。

データは一枚のシートに、並んでおり、それぞれ手でグラフを作っております。

マクロを使ってグラフを作ろうとしたのですが、

ActiveChart.SetSourceData Source:=Sheets(”全体まとめ”).Range(”W31:AB34”), PlotBy _


Range(”W31:AB34”
とエリアを絶対値で決められてしまい、複数のグラフを作成できません。


相対的に範囲を選択する方法が、あればできると思うのですが、調べてもよくわかりません。

はじめにグラフにしたいエリアをアクティブにしておいて、マクロを実行するだけで、グラフを作成できるようにするには、どうしたらよいのでしょうか?

ステップとしては、
1、グラフにしたいエリアの数字をアクティブにする
2、マクロを実行
3、選択したエリアの数字でグラフ作成。

という流れで作れればよいと考えております。

よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:nyomonyomo No.1

回答回数17ベストアンサー獲得回数0

ポイント20pt

http://support.microsoft.com/default.aspx?scid=kb;ja;408046

[XL97]コメントが挿入されているセルの数を取得する方法

以下のマクロを試してみてください。

要はSelection.Addressでrange()の括弧の中身に使える範囲が取得できますということです

Sub グラフを作る()

選択範囲 = Selection.Address ’ここで選択したセルを選択範囲変数に入れている

Charts.Add

ActiveChart.ChartType = xlLineMarkers

ActiveChart.SetSourceData Source:=Sheets(”Sheet1”).Range(選択範囲), PlotBy:= _

xlRows

ActiveChart.Location Where:=xlLocationAsObject, Name:=”Sheet1”

With ActiveChart

.HasTitle = False

.Axes(xlCategory, xlPrimary).HasTitle = False

.Axes(xlValue, xlPrimary).HasTitle = False

End With

End Sub

id:msdtakashi

試して見ます。

2005/11/24 18:11:32
id:nankichi No.2

回答回数562ベストアンサー獲得回数2

ポイント20pt

http://www2.odn.ne.jp/excel/waza/graph.html#SEC4

エクセル技道場−グラフ

その目的ならマクロ使う必要はないですよ。作りたいグラフを標準にしてしまいましょう。urlにやり方が書いてあります。

http://arena.nikkeibp.co.jp/lecture/20030507/104568/

グラフを作成した後で、参照するデータ範囲を変更する / デジタルARENA

もう一つ別のやり方。

一度つくったグラフをctrlキーを押しながら適当にドラッグアンドドロップしてみてください。

コピーできます。

で、コピーしたグラフの領域をマウスで変えます。

このurlの図5 参照してください。

id:msdtakashi

なるほど、無理にマクロ使う必要ないんですね。

2005/11/24 18:12:07
id:aki73ix No.3

回答回数5224ベストアンサー獲得回数27

ポイント20pt

http://www15.ocn.ne.jp/~range/js/js003.html

過去の株価を調べる2

これは参考にしたサイトです


   Dim Vals As Range

    Set Vals = Range(Selection, Selection.End(xlDown))

    Charts.Add

    ActiveChart.ChartType = xlColumnClustered

    ActiveChart.SetSourceData Source:=Vals, PlotBy:= _

        xlColumns

    ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"


このように強制的に選択範囲をグラフにすることも出来ますが無理に ActiveChart.SetSourceData Source を指定しなくても

Charts.Add

ActiveChart.ChartType = xlColumnClustered

ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"

まででグラフを選択した範囲で作成できますよ

id:msdtakashi

ありがとうございます。

2005/11/24 18:47:43

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません