エクセルマクロ・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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの大きなシートでグラフを見つける 4 2022/07/28 10:07
- Excel(エクセル) エクセルのイベントVBAを複数のシートで動かしたい 1 2022/12/07 16:55
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Excel(エクセル) Googleスプレッドシートの割合の関数と円グラフの並べ替えについて 1 2022/07/22 17:31
- Visual Basic(VBA) 【VBA】もし、値が0だったら左のセルと合わせて削除したい 3 2023/04/20 10:12
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) 【VBA】A列の指定した値と同じ行にあるD列の値を順番にコピペするマクロについて 4 2023/02/01 18:16
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Excel(エクセル) <スプレッドシート>採用進捗 グラフ作成について 3 2022/10/23 15:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA グラフの存在の判定について
-
グラフの元のデータを消しても...
-
現在、エクセルで、選択したグ...
-
Excel VBAでグラフ作成。A,C列...
-
【VBA】Excel等高線グラフの...
-
excelのグラフをLaTexに挿入す...
-
OWCによるグラフ描写について
-
論文に載せるグラフを作成したい
-
C# PictureBox + panelでのスク...
-
Excel VBA グラフ ChartType に...
-
エクセルVBAについて
-
onedriveで同期解除をしたら、...
-
vlan internal allocation poli...
-
teratarmでコマンド入力すると...
-
C#で他のPCのサービスの起動...
-
YAHAMA RTXシリーズのコマンド...
-
USB内のフォルダが「ファイル」...
-
NETBIOSドメイン名の変更について
-
読み取り専用ファイルを上書き...
-
沢山のフォルダにあるファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA グラフの存在の判定について
-
論文に載せるグラフを作成したい
-
【VBA】Excel等高線グラフの...
-
グラフの元のデータを消しても...
-
excelのグラフをLaTexに挿入す...
-
Excel VBAでグラフをクリックし...
-
グラフを「似ている」順に並べ...
-
Excel VBAで、グラフを特定のセ...
-
MFCプログラミング
-
Excel VBA グラフ ChartType に...
-
c言語 正負の値それぞれでの最...
-
グラフの色を数値で変わるように!
-
C#のChartで目盛線をグラフの前...
-
excelで散布図に線を追加したい
-
Excel VBAでグラフ作成。A,C列...
-
matlabのy軸を2つ利用したグラ...
-
Google Chart APIでランキング表示
-
gnuplotで関数を途切れさせるに...
-
C言語によるハノイの塔のプログ...
-
Scilabのグラフの凡例
おすすめ情報