>>852
質問1はちょっと意味が分からないです。
マクロの簡単なサンプルを提示してもらえると
検証できるのですが。

質問2
replaceallfast"\n\n","\n";
で試してみたんですが、時間がかかるって
ほどではありませんでした。
disabledraw をつけると多少早くなるような
気もしますが誤差の範囲程度。
while とかのループ中にいれて何度も置換を
呼び出してるってことはありませんか?