私はワークシートをx1、y1、x2、y2の4つの列に100行並べています。各行は、x1、y1で始まりx2、y2で終わる線分を表します。個々のシリーズを個別に追加することなく、これらのセグメントをExcelでどのようにチャート化するのですか?これらの列をすべて選択してチャートを挿入すると、100点の4つの系列または4つの点を持つ100の系列としてプロットされます。Excelで大量のシリーズをチャート化する
編集:これを行うことができるVBAコードはありますか?
私はワークシートをx1、y1、x2、y2の4つの列に100行並べています。各行は、x1、y1で始まりx2、y2で終わる線分を表します。個々のシリーズを個別に追加することなく、これらのセグメントをExcelでどのようにチャート化するのですか?これらの列をすべて選択してチャートを挿入すると、100点の4つの系列または4つの点を持つ100の系列としてプロットされます。Excelで大量のシリーズをチャート化する
編集:これを行うことができるVBAコードはありますか?
これは可能です。
のは、次のシートみましょう:
と、次の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
結果:
あなたの助けを借りて、私が探していたものです。 – thebaker
あなたが5分を費やすならば、私はいつも、言いますあなたのデータで、yあなたのグラフで5時間を節約できます。これは、異なるデータ配置がはるかに少ない労力で所望の結果をもたらすことができる1つの場合である。
次のようにデータを配置します。すべてのX値は列Bにあり、すべてのY値は列Cにあり、X、Y値のペアは空白行で区切られています。このデータが与えられると、ExcelはX、Y値の各ペアの間に線分をプロットし、空白の行に対応するギャップをプロットします。線分にA、Bなどのラベルが付いていることを説明するために、列Aにラベルを貼り付けようとしました。
列BとCのデータを選択し、直線とマーカーのないXY散布図を挿入します。
Excelの256シリーズチャート制限を超過したいのであれば、悪いアプローチではありませんが、実際にはvbaと比較して100を超える数式ベースの座標を設定して改訂するのにかなりの時間を要すると思います。 – thebaker
「どのようにして、個別に各系列を追加することなく、Excelでこれらのセグメントをグラフ化しますか?」 Excel GUIのみを使用する場合はできません。しかし、これはプログラマーのO/Aサイトです。では、どのようなプログラミング言語を使用できますか?もう何を試しましたか? –
@AxelRichter申し訳ありませんが、VBAを使用する方法はありますか? (私はこれについてあまり知識がありません) – thebaker