0

こんにちは、親切な人々です。

私が書いた関数からいくつかのデータをプロットしたいと思います。私の関数は、配列といくつかのセルを呼び出します。次に、いくつかの計算を実行します。x 軸に日付をプロットし、y 軸にデータをプロットしたいと思います。どちらも「As Double」になります。

SetSourceData Source:= NOT BEING FROM A RANGE OF CELLS に関する情報を見つけることができませんが、関数内で実行された計算からのものです。

折れ線グラフに 2 つの配列をフィードしたいと考えています。

これを回避するために、2 つの列配列を Excel に返すことができると考えました (理想的ではありませんが、うまくいけば満足です)。これは、日付(年単位)を返す私の試みです。私のスプレッドシートでは、セル A1:A1001 を強調表示し、「=Arr()」と入力して Shift+Ctrl+Enter を押しています。セル A1:A1001 に 1946 年 (元年) を繰り返し入力します。

皆様に改めて感謝申し上げます。指を交差させておきます:o)

Function Arr() As Variant
    Dim q() As Double
    ReDim q(1 To 1001)
    q(1) = 0

    Dim dq As Double
    dq = 0.001
    For G = 2 To 1001
        q(G) = q(G - 1) + dq
    Next G

    Dim DTE() As Variant
    ReDim DTE(1 To 1, 1 To 1001)

    For k = 1 To 1001
        DTE(1, k) = (q(k) * 64) + 1946
    Next k

    Arr = DTE

End Function
4

1 に答える 1

0

これはあなたの直接の質問に対する答えではなく、範囲以外のデータをグラフ化したいというあなたの願望に対する答えです。

Chart.SeriesCollection(#).Valuesプロパティに配列を割り当てることができます

実演するために、呼び出されたアクティブなSheetにチャートを置き、Chart 1このコードを実行します

Sub zx()
    Dim ch As Chart

    Set ch = ActiveSheet.ChartObjects("Chart 1").Chart
    ch.SeriesCollection(1).Values = Array(1, 3, 5, 7, 11, 13, 17, 19)
    ch.SeriesCollection(1).XValues = Array(5#, 6.3, 12.6, 28, 50)

End Sub
于 2012-05-17T06:21:15.763 に答える