

エクセルマクロ・VBA初心者です。
現在、グラフ作成で困ってます。
お詳しい方、よければアドバイスを下さい!
作成したいグラフは、元データが5000行×50列で、
1番左列に時刻、2列目からデータとなっており、
1-2列、1-3列、1-4列、・・・・1-50列
という感じの一般的な時系列グラフを多量につくりたいのです。
これをマクロを使って、別シートにグラフ(散布図)を並べて作るというものです。
さらに、別に用意したグラフの名称を並べたセルから、
順に、上記グラフのタイトルとして入力していきたいのです。
これをVBAを使って行いたいのですが、
一体どうすればいいのでしょうか?
「マクロの記録」では、
■「50列目まで順番にグラフをつくれ!」
■「名前を順番に入れていけ!」
という命令が私には作れません。
お詳しい方、ご返答宜しくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
50個のグラフならば50個のグラフをひとつのシートに
というマクロにするということは可能でしょうか?に関して
ここで、エクセルの仕様で制限があります。
50個のグラフをひとつのシートに・・・は、実現不可能でしょうね。
ANo.2さんが、言っているように
内容によるけど 10個のグラフをひとつのシートに・・・も無理な場合がありますので、手動でグラフを作成して確認する必要あります。
詳細は、下記URLを参考に
http://excel.onushi.com/purpose/graph_specificat …
No.2
- 回答日時:
こんにちは、
****************引用**************************
10個のグラフならば10個のグラフをひとつのシートに、
50個のグラフならば50個のグラフをひとつのシートに
というマクロにするということは可能でしょうか?
**********************************************
言っている事が、今ひとつわかりませんが、
hinekichiさんが、必要としているグラフは、
マクロを使わないで、10個のグラフを一つのシートに
というのが、可能ですか。???
マクロは、あくまでも、自動化で、
手作業でも、できないことは、できないと思います。
外しているかもしれませんが、
グラフの配置場所を変えて、
シート1に2個のグラフを作りました。
グラフの作成場所を変えただけですが、
Dim area As Range
'グラフの数
Dim i As Integer
'行の最大値
Dim r As Integer
'データのタイトル
Dim title As String
'行の最大値、今回は、11行にしました
r = 11
For i = 1 To 2
'データが存在するシート名
With Sheets("Sheet1")
'データのタイトル
title = .Cells(1, i + 1).Value
Set area = Union(Range(.Cells(1, 1), .Cells(r, 1)), Range(.Cells(1, i + 1), .Cells(r, i + 1)))
End With
Charts.Add
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.SetSourceData Source:=area, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = title
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
Next
度重なるご回答、ありがとうございます!
>言っている事が、今ひとつわかりませんが、
についてですが、これは例を2通り出しただけで深い意味はありません。
ひとつのシート内に多量のグラフをつくる、ということです。
出来ればこれをきれいに整列させたい所ですが・・・。
これをベースに、勉強させて頂きます。
マクロは奥が深いですね、本当にありがとうございました!
No.1
- 回答日時:
こんにちは、
こんな感じで、良いのかな?
シート1に
x-------data1---data2
1-------10------20
2-------20------30
3-------30------40
4-------40------50
5-------50------60
6-------60------70
7-------70------80
8-------80------90
9-------90------100
10------100-----110
のようなデータを作り、X-DATA1とX-DATA2の散布図を二つ作りました。
Sub Macro1()
Dim area As Range
'グラフの数
Dim i As Integer
'行の最大値
Dim r As Integer
'データのタイトル
Dim title As String
'行の最大値、今回は、11行にしました
r = 11
For i = 1 To 2
'データが存在するシート名
Sheets("Sheet1").Select
'データのタイトル
title = Cells(1, i + 1).Value
Set area = Union(Range(Cells(1, 1), Cells(r, 1)), Range(Cells(1, i + 1), Cells(r, i + 1)))
Charts.Add
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.SetSourceData Source:=area, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = title
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
.Name = title
End With
Next
End Sub
この回答への補足
具体的なご回答、本当にありがとうございます!
先ほど試してみました。
わがままを言って申し訳ないのですが、
作成したグラフ(tom11様の場合ですと10個)を、
ひとつひとつのシートにではなく、
10個のグラフならば10個のグラフをひとつのシートに、
50個のグラフならば50個のグラフをひとつのシートに
というマクロにするということは可能でしょうか?
説明不足で申し訳ありませんでした。
出来れば、再度具体的にVBAのプログラムを教えて頂けませんか?
他力本願で申し訳ありません。
自分で勉強して応用出来るようがんばりますので、
何卒宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA セル間のリンク修正につい...
-
【マクロ】シートの変数へ入れ...
-
Vba Array関数について教えてく...
-
【マクロ】並び替えの範囲が、...
-
vba textboxへの入力について教...
-
複数のExcelファイルをマージす...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】開いているブックの...
-
エクセルVBAコードで教えて下さ...
-
vb.net(vs2022)のtextboxのデザ...
-
VBAの「To」という語句について
-
[VB.net] ボタン(Flat)のEnable...
-
Excelのマクロについて教えてく...
-
以下のプログラムの実行結果は...
-
VBAでセルの書式を変えずに文字...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教え...
-
エクセルの改行について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでグラフをクリックし...
-
Excel VBAで、グラフを特定のセ...
-
グラフの元のデータを消しても...
-
VBA グラフの存在の判定について
-
論文に載せるグラフを作成したい
-
Excelマクロでグラフの縦軸目盛...
-
グラフを「似ている」順に並べ...
-
Matlabによる複素数・・・
-
DirectShowでフィルタの削除
-
excelで散布図に線を追加したい
-
excelのグラフをLaTexに挿入す...
-
【VBA】Excel等高線グラフの...
-
Scilabのグラフの凡例
-
matlabのy軸を2つ利用したグラ...
-
C#のChartで目盛線をグラフの前...
-
レガシーASPでのグラフ作成...
-
vb.net(vs2008)でのグラフ作成...
-
matlabとgunplotがうまくリンク...
-
グラフの色を数値で変わるように!
-
gnuplotで関数を途切れさせるに...
おすすめ情報