>>512 512です
>>517さんの正規表現が私の理解不足でうまく使えなかったため>>522さんのやり方で下記のコードを書きました。1ファイル100列×500行程度のものを3つマージした後で置換するのは問題なかったのですが、5つのファイルをマージ後に置換したところエラー6のオーバーフローが発生し、8行目の「r = Reg.Replace(r.Value, "|")」の行がハイライトされていました
Dim r As RangeをDim r As Variantにしてみても解決しなかったのですが、これは検索対象の文字数が多すぎてオーバーフローになるのでしょうか。また対策があれば教えてください、よろしくお願いします(改行が多いと書き込めないため見づらくてすみません)

Dim Reg
Dim r As Range
Set Reg = CreateObject("VBScript.RegExp")
With Reg
.Pattern = "\|+" '検索パターン 連続した「|」
.Global = True '文字列全体を検索
For Each r In ActiveSheet.UsedRange
r = Reg.Replace(r.Value, "|") '「|」ひとつに置換
Next r
End With
With Reg
.Pattern = "^\|" '検索パターン 先頭の「|」
.Global = True
For Each r In ActiveSheet.UsedRange
r = Reg.Replace(r.Value, "") '削除
Next r
End With
With Reg
.Pattern = "^|$" '検索パターン 末尾の「|」
.Global = True
For Each r In ActiveSheet.UsedRange
r = Reg.Replace(r.Value, "") '削除
Next r
End With
Set Reg = Nothing