2016-05-23 8 views
0

塗りつぶしレーダーチャートを作成するVBAシリーズの追加に問題があります。これを行うより良い方法があるかもしれませんが、希望のグラフ( VBAなしで)を作成するには、ワークシートに(120,12)という表を作成し、A1:L120の範囲に「塗りつぶされたレーダー」グラフを追加します、手動のような数式バーを更新:Excel VBA配列からレーダーチャートに系列を追加

=SERIES("name1",,'Sheet1'!$A$1:$A$120,1) 
=SERIES("name2",,'Sheet1'!$B$1:$B$120,2) 
etc for 12 more series 

これだけのように見えるチャート作り、各列のようにゼロ以外の11の値を有することがアイデアである:

ここで第一の悪い例ですが私が通常チャートを作るために使用する範囲の3列:

私はVBAでこれを行うことができますが、値は、ワークシートの範囲から(120,12)の配列になります。私は似た意図を持ったいくつかの異なるページを読んだが、私はまだこの特定の問題に取り組んでいるページを見ていない。 1つの大きな問題は、各シリーズは配列の1つの列から来る必要があり、多くのページでは、配列から1つの列を引っ張って= SERIES関数に入れることはできないということです。

しかし、私が取り組んでいる大きな問題は、配列の値でグラフにデータを取り込むことです。この問題の助けがあれば大歓迎です。

ありがとうございます!

+0

私の画像が追加されませんでした、なぜ私はわからないんだけど、ここで彼らは順序である: http://i.stack.imgur.com/UpOZm.png ます。http:// I .stack.imgur.com/8H5Qu.png –

答えて

0

This post partially answers the question

以下の画像のようにデータを設定します。

Data Picture

そして、次のコードは、複数の一連のチャートを作成します。

Sub CreateChartFromArray() 

Dim c As Chart 
Dim s As Series 
Dim myData As Variant 

ActiveSheet.Shapes.AddChart.Select 
Set c = ActiveChart 
ActiveChart.ChartType = xlRadar 

For i = 1 To 12 
myData = Range(Cells(1, i), Cells(101, i)).Value 
    Set s = c.SeriesCollection.NewSeries() 
    s.Values = myData 
Next 

End Sub 
+0

私は応答を感謝しますが、残念なことに、このソリューションは、チャートを作成するために事前に充填されたセルの範囲を使用する必要があります。私は配列から直接チャートを作成したいと考えていました。 –

+0

"s.Values = myData"を "s.Values = Array(1、2、3、4、5、6、7、8、9、10)"に置き換えると、ソリューションは引き続き動作します。 – bwyn

+0

ソリューションが動作することを確認できましたか? – bwyn

関連する問題