2

Excel UDF から 2 次元配列を返したいのですが、最初の要素しか返されないようです。

public object[,] Get2DArray()
{         
     object [,] a = new object[2, 2];
     a[0,0] = 0;
     a[0,1] = 1;
     a[1,0] = 2;
     a[1,1] = 3;
     return a;
}

呼び出しは次のようになります。

=Get2DArray()

私は何を間違っていますか?

編集:配列のサイズは時々変わる可能性があるため、結果が満たされる範囲のサイズを指定する必要はありません。

4

1 に答える 1

0

2 次元配列であるため、配列の内容を 1つのセルに割り当てることはできません。

あなたの例から、2x2 配列を返しています - 範囲 (正確なサイズ) を選択し、選択範囲の最初のセルに数式を書き込みます。
たとえば、A1 から B2 を選択し、 を押しF2てセル A1 に式を入力すると (選択範囲がアクティブな状態で)、B1、A2、B2 にも書き込まれた値を確認できるはずです。

戻り値の配列が動的になる可能性があることを理解しています。これをどのように処理できるかわかりません。ただし、これは UDF を使用するよりも VBA で行うことができます。

于 2013-03-01T08:18:06.333 に答える