|
■No65869 (ぱぬっち さん) に返信 > 高速に処理するため、配列をエクセルのRangeにセットしています。 Range オブジェクトの Areas プロパティを確認してみてください。 それが .Count == 1 の場合は一括代入できますが、.Count が 2 以上の場合は、Areas 単位で個別代入する必要があります。
> A3,A5もA1と同じ値がセットされてしまいます。 "A1:B3,D2:F6,F10" のように、Areas があらわすそれぞれの範囲が、 セル数の異なる Range となる場合、さらに面倒なことに…。
> C#から配列のデータを出力する際、エクセルのRangeに離れたセルを指定する事はできないのでしょうか? (1) "A1:A5" の範囲の Range を用意する。 (2) その Range の Value プロパティで、5行1列の配列要素を受け取る。 (3) 受け取った配列の 1,3,5行目のみを書き換える。 (4) 元の Range の Value プロパティに書き戻す。
では駄目でしょうか。 値では無く数式なら、Value の代わりに FormulaR1C1 等で。
|