初めてのポスター。この累積分布図を作成するために、直線の xy 散布図を作成します。y 軸の値はパーセンタイルで、すべて A2:A100 にあります。対応する x 値は列 B から n にあります。n は変数であり、チャート作成のためにユーザーが指定したシミュレートされた戦略の数に依存します。A2:A100 が隣接する列にあるすべての x 値系列の y 値である xy 散布図を作成するには、VBA コードが必要です。名前付きセル、cumulativeColumns は、x 値を持つ列数をカウントします。SeriesCollections がどのように機能するかを調査した結果、cumulativeColumns 式の結果に基づいて停止する Do Until ループを使用することを最初に考えました。私はこのコードがうまくいくと思った:
q = 1
Do Until q = Range("cumulativeColumns").Value
ActiveChart.SeriesCollection(q).XValues = _
"=Range(Cells(2,q+1), Cells(100,q+1))"
ActiveChart.SeriesCollection(q).Values = _
"=Range(Cells(2,1), Cells(100,1))"
q = q + 1
Loop
ループの初回は q = 1 なので、最初のシリーズは列 B のデータを取得します。ループの2回目はq = 2なので、2番目のシリーズが定義され、列Cのデータを取得するなど、cumulativeColumns.Valueの結果ごとにデータを含む列がなくなるまで停止すると考えました。しかし、エラー 1004、アプリケーション定義またはオブジェクト定義エラーが発生します。