Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
RE: 空白セルに記号挿入 (回答コメントの訂正)
投稿日時: 21/02/13 09:57:01
投稿者: simple

「空白セルに記号挿入」
https://www.moug.net/faq/viewtopic.php?t=80251
について、私の回答コメントに誤りがありましたので、訂正します。
 
3方式を採り上げました。
(1)セル毎に判断して修正する方式(質問者さんのコード)
(2)配列に取り込み、修正してから一括して書き込む方法
(3)SpecialCellsで空白セルを判定し、rng.Value = "_"とする方法。
 
私は、「(3)が最速」と書きましたが、誤りでした。
空白セルたちのfragmentationがどの程度になっているかに依存する話でした。
 
単純な構造をしている場合は、(3)が(1)(2)より速いことはあります。
しかし、例えば一行おきに交互に空白となっているような状況では、
(2)配列利用が最速でした。
 
しかも、10回ほど繰り返すと、なぜか(3)方式だけが、徐々に遅くなっていくのでした。
(原因不明です。)
 
いずれにせよ、ネイティブ処理は速いなあ、と即断したのが誤りでした。
訂正させて頂きます。どうも失礼しました。
 
もし、速度がクリティカルな場合は、実際のデータで比較することをお薦めします。
手動の一時利用によって、大抵の場合は1秒以下の話なので、議論にはならないとは思いますが。

投稿日時: 21/02/13 15:20:02
投稿者: simple

閉じます。