Excelの基本操作は速いのか。


はじめに

Excelの大量のセルに書き込むのが遅いという話を社内から聞きました。
Excelの基本操作で書き込む方が速いはずなので、どのくらい違うか比べてみました。

いきなり結論

ざっと見た感じ100倍以上速いです。

試したこと

Excelの基本操作と高度な操作で、それぞれ100×100のセルを書きこむBotを作り動かしました。

数値

【基本操作】
(2021/10/22 22:20:10) start
(2021/10/22 22:20:11) end
(2021/10/22 22:20:45) start
(2021/10/22 22:20:45) end
(2021/10/22 22:20:58) start
(2021/10/22 22:20:59) end
   :
【高度な操作】
(2021/10/22 22:15:43) start
(2021/10/22 22:16:53) end
(2021/10/22 22:21:31) start
(2021/10/22 22:22:24) end
(2021/10/22 22:22:42) start
(2021/10/22 22:23:55) end
   :

使い分け

Excelの基本操作は確かに速いけど、高度な編集処理ができません。単純な入出力しか使わず、かつ大量の書き込みあって速度を求めたい場合は「Excelの基本操作」も良いでしょう。
ただし、V11から移行したBotで既にExcelの高度な操作で作られているものを基本操作に書き換えるのは、結構な手間がかかりそうです。個々のステップを全部入れ替えなければいけませんので。
高度⇒基本、に簡単に変換できる方法があると良いのですが。

Excelの高度な操作で速くするには。

Excelの高度な操作のまま、速くする手段がないか考えてみました。
データテーブルに先に書き込んで、そのデータテーブルを1回でExcelに書き込み、とすると100×50で10秒くらいで終わりました。
高度な操作でセルを1つずつ書き込むよりは速いけど、基本操作には負けますね。
それにデータテーブルは200×50のサイズ制限あるのであまり大きい処理はできません。

さいごに

まぁ、20×20くらいなら、高度でも気にならない範囲かと。