• ベストアンサー

複数のブックのデータを集めて、グラフを書きたいです

Book1、Book2には、異なる行列のデータがあります この2つのブックのデータを参照してグラフを書くマクロをVBAで組んでいます Book1,Book2のシートをそれぞれグラフに書くところまでは出来ました 質問1. Book1のA1~An(Aのセルすべて)を、Book2の指定のセル(例えばC1~Cn)に コピーしたい 質問2. Book2のセルB1~B100のデータと Book1からコピーしたC1~C300のデータを 同じグラフ上にプロットしたい AのセルをX軸のデータとして使用する 宜しくお願いします

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

  • ベストアンサー
  • hotosys
  • ベストアンサー率67% (97/143)
回答No.2

VBAはどのBookにあって、 >Book1のA1~An(Aのセルすべて)を、Book2の指定のセル(例えばC1~Cn)にコピーしたい というのはBook1のどのシートとBook2のどのシートで、どんなグラフをどのシートに書くのか、具体的な情報が不足してるので、例えばです。 C:\Book1.xlsのSheet1のA列のデータを、このVBAのあるBookのSheet1のC列にコピーする。 このVBAのあるBookのSheet1のA:B列にはあらかじめデータがある。 つまりこのVBAがあるBookが質問のBook2だった場合です。 Sub sample1() Dim book1 As Workbook Dim sheet1 As Worksheet Set book1 = Workbooks.Open("C:\Book1.xls") 'Book1を開く Set sheet1 = book1.Sheets("Sheet1") 'Book1のデータがあるシート ThisWorkbook.Sheets("Sheet1").Columns("C").Value = sheet1.Columns("A").Value 'このBookのSheet1のC列に、Book1のSheet1のA列の値をコピー book1.Close False 'Book1を保存せずに閉じる End Sub Sheet1のA:C列にデータがある場合で、A列の値がX軸でB列とC列の値がY軸の折れ線グラフです。 1行目はデータです。 Sub sample2() Dim dataSheet As Worksheet Dim c As Chart Set dataSheet = Sheets("Sheet1") 'データがあるシート Set c = Charts.Add 'グラフ追加 c.ChartType = xlLine '折れ線グラフ c.SetSourceData Source:=dataSheet.Range("B1:C30"), PlotBy:=xlColumns 'B列とC列がデータ c.SeriesCollection(1).XValues = dataSheet.Range("A1:A300") '横軸をA列に設定 c.Location Where:=xlLocationAsObject, Name:=dataSheet.Name 'グラフをデータのあるシートに移動 End Sub 実際は1行目が見出しかどうかとか、何グラフがほしいか具体的なことがわからないと、なんとも答えようがないと思います。

joqr
質問者

お礼

ヒントをありがとうございました NewSeriesで片付いてしまいました

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

エクセルのグラフは、1つのシートに、望みのグラフに適した形式(行と列、系列)で作らないと、Book1の何処から、Book2のあそこから、といってみても何もなりません。 ーー まず手作業でデータをシートに(架空のデータで良い)つくり並べてみて、それを挿入ーグラフーグラフの種類ー以下グラフの設定操作でやってみて、意図どおりの形が出来上がってから、そのデータ例をこの質問文に挙げて、さてどうVBAのプログラムを組んだら良いでしょうと聞くもんだ。できれば自分でやれるとこまでやってみる。 1シートにあるデータでも、意図どおりのグラフの書き方操作もわかってない状態ではないのか。 まずそれを勉強するのが先だ。 あとはマクロの記録が、グラフの場合良く取れるので、マクロの記録を採って、勉強するのだ。 其れでグラフを描く部分はVBAコード化は比較的心配はいらない。 ーー そして上記でシートに作ったデータを作るには、2ブックを巻き込んだ、どういうコードになるのか考えるのが順序だ。 ーー 基本的なことは、グラフの系列の考えに合うようなデータの並べ方のデータを作れば良いのだが、C1~C300なんていわずにC1-C5ぐらいの データ例でもあげて質問するもんだ。

joqr
質問者

お礼

まぁ、そうですね

関連するQ&A

専門家に質問してみよう