2017-12-17 8 views
-3

私はワークシートをx1、y1、x2、y2の4つの列に100行並べています。各行は、x1、y1で始まりx2、y2で終わる線分を表します。個々のシリーズを個別に追加することなく、これらのセグメントをExcelでどのようにチャート化するのですか?これらの列をすべて選択してチャートを挿入すると、100点の4つの系列または4つの点を持つ100の系列としてプロットされます。Excelで大量のシリーズをチャート化する

編集:これを行うことができるVBAコードはありますか?

+1

「どのようにして、個別に各系列を追加することなく、Excelでこれらのセグメントをグラフ化しますか?」 Excel GUIのみを使用する場合はできません。しかし、これはプログラマーのO/Aサイトです。では、どのようなプログラミング言語を使用できますか?もう何を試しましたか? –

+0

@AxelRichter申し訳ありませんが、VBAを使用する方法はありますか? (私はこれについてあまり知識がありません) – thebaker

答えて

0

これは可能です。

のは、次のシートみましょう:

enter image description here

と、次のVBAコードを:

Sub createChart() 

With ActiveSheet 

    Set oChart = .ChartObjects.Add(Left:=300, Top:=0, Width:=200, Height:=200).Chart 
    oChart.ChartType = xlXYScatterSmooth 

    lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row 

    For r = 2 To lastRow 
    Set oSeries = oChart.SeriesCollection.NewSeries 
    oSeries.XValues = Union(.Cells(r, "A"), .Cells(r, "C")) 
    oSeries.Values = Union(.Cells(r, "B"), .Cells(r, "D")) 
    Next 

    oChart.SetElement msoElementLegendNone 

End With 

End Sub 

結果:

enter image description here

+0

あなたの助けを借りて、私が探していたものです。 – thebaker

1

あなたが5分を費やすならば、私はいつも、言いますあなたのデータで、yあなたのグラフで5時間を節約できます。これは、異なるデータ配置がはるかに少ない労力で所望の結果をもたらすことができる1つの場合である。

次のようにデータを配置します。すべてのX値は列Bにあり、すべてのY値は列Cにあり、X、Y値のペアは空白行で区切られています。このデータが与えられると、ExcelはX、Y値の各ペアの間に線分をプロットし、空白の行に対応するギャップをプロットします。線分にA、Bなどのラベルが付いていることを説明するために、列Aにラベルを貼り付けようとしました。

列BとCのデータを選択し、直線とマーカーのないXY散布図を挿入します。

enter image description here

+0

Excelの256シリーズチャート制限を超過したいのであれば、悪いアプローチではありませんが、実際にはvbaと比較して100を超える数式ベースの座標を設定して改訂するのにかなりの時間を要すると思います。 – thebaker

関連する問題