Excel および .Net との相互運用が非常に遅いことは、よく知られているようです。値の配列をワークシート オブジェクトに一度にコピーできることは認識していますが、ストップウォッチによると、次のタイプのコマンド (VB.Net 内) が 1 つでもあります。
WS.Range(--range string here--).Value = array
...0.3秒以上かかります!私のルーチンは各ワークシートに数十の配列を書き込み、ワークブックごとに複数のワークシートがあり、おそらく複数のワークブックも反復するため、これは合計されます。
不連続で長方形でないセルのグループを一度に書き込む方法があれば、1 つの書き込みコマンドで WS 全体を実行できます。しかし、「中間」セルの元の値を保持しながらそれを行う方法はないと思います。これらのワークブックは事前にフォーマットされているため、特定のセルをそのままにしておく必要があります。
これをスピードアップするためにできることはありますか?