VBAの最適化について調べていたら見つけたことを検証した。
VBAで文字列中に改行コードを表す場合、VBAで用意されている定数「vbCrLf」を使う場合と、「Chr(13) & Chr(10)」を使い場合で速度が異なるということだった。
以下、1,000,000回繰返し中に改行コードと文字列の結合を行った際にかかる時間を算出してみた。
OS:WindowsXPSP3
Office:2003 SP3
1,000,000回繰返しを行った際の秒数を10回の平均で出したもの。
明らかに時間がかかっていることがわかる。
定数の場合は4倍は早いようだ。
よっぽどのことが無い限り定数を使うほうがよさそうという結論。
上記とは別件だが、エクセルのセル内改行はLFを用いている様子。
