Wordで改行を消したい、置き換えたいときはないでしょうか。
けど、そんな中で悩むことは、
・空行が大量にあって、体裁が整わない
・1件ずつ消していられないので、まとめて処理したい
ですね。
そんなときに使えるのが、検索と置換とVBAでの一括処理です。
Wordの改行には2種類あり、それぞれ置換する記号が違うのがポイントです。
この記事では、手作業の置換からVBAでまとめて処理する方法まで、サンプルコードと対応例つきでまとめます。
今回はそんなお悩みを解決する、
・検索と置換で使う記号の一覧
・改行を削除する手順
・改行を置換する手順(対応例つき)
・VBAで一括処理する方法(サンプルコード)
・うまくいかないときの対処法
についてまとめます!
完成イメージ
空行だらけの案内文も、検索と置換(またはVBA)で一瞬で整います。
| 置換前 | 置換後 |
|---|---|
| お知らせ
平素よりお世話になっております。 |
お知らせ 平素よりお世話になっております。 |
| 1行目 2行目 3行目 |
1行目2行目3行目 |
置換前は、行ごとに段落記号(↵)が入っています。
「すべて置換」を実行すると、すべての改行が削除されて1つの段落にまとまります。
・空行の削除は ^p^p → ^p が最短です
・VBAなら「複数文書」もまとめて処理できます
・検索と置換は Ctrl + H で開きます
もくじ
Wordの改行は2種類ある
Wordの改行は、見た目が似ていても中身が違います。
| 種類 | 入力方法 | 記号 | 置換コード |
|---|---|---|---|
| 段落記号(段落改行) | Enter | ↵ | ^p |
| 手動改行(改行) | Shift + Enter | ↓ | ^l(小文字のL) |
| ページ区切り | Ctrl + Enter | —— | ^m |
| 段区切り | レイアウトから挿入 | —— | ^n |
見分け方は簡単です。
ホーム タブの「編集記号の表示/非表示」ボタン(Ctrl + Shift + 8)

を押すと、記号が表示されます。
※デフォルトですと編集記号は表示されている状態ですので、ボタンを押しても反応がない場合があります。
| 表示 | 意味 |
|---|---|
| ↵ | 段落の終わり(Enter) |
| ↓ | 同じ段落内の改行(Shift+Enter) |
| ・ | 半角スペース |
| → | タブ |
検索と置換で使える記号の一覧
Wordの置換では、記号そのものではなく「^(キャレット)+英字」で指定します。
| コード | 意味 | 主な使い道 |
|---|---|---|
| ^p | 段落記号(↵) | 段落をまとめる・空行を消す |
| ^l | 手動改行(↓) | 行内の改行を消す |
| ^t | タブ | タブを空白に置換 |
| ^m | ページ区切り | ページ区切りを削除 |
| ^w | 空白(スペース・タブ) | 余分な空白を削除 |
| ^# | 任意の数字 | 数字だけ検索 |
| ^$ | 任意の英字 | 英字だけ検索 |
・ワイルドカードを使用するにチェックが入っていると、^p などが使えません。チェックを外してください

ショートカット一覧
| 操作 | ショートカット |
|---|---|
| 検索と置換(置換タブ) | Ctrl + H |
| 検索(検索タブ) | Ctrl + F |
| 記号(↵)の表示切替 | Ctrl + Shift + 8 |
| 全選択 | Ctrl + A |
| 手動改行 | Shift + Enter |
| ページ区切り | Ctrl + Enter |
| VBAエディター | Alt + F11 |
サンプル文章(コピペ用)
動作を試したいときは、次の文章をWordに貼り付けてください。
—
お知らせ平素より大変お世話になっております。
このたび、弊社サービスのメンテナンスを下記のとおり実施いたします。
ご利用のお客様にはご不便をおかけしますが、ご理解のほどよろしくお願いいたします。
■実施日時2026年11月10日(火)2:00〜5:00
—
使い方①:改行を削除する(1行にまとめる)
手順
- 対象の文書を開き、Ctrl + H で「検索と置換」を開きます
- 検索する文字列に ^p と入力します
- 置換後の文字列は空欄のままにします
- 「すべて置換」をクリックします

これで段落がつながり、1行にまとまります。

ダイアログでは、検索する文字列に ^p、置換後の文字列は空欄にします。1回の置換で終わるのでカンタンですね。
手動改行(↓)を消すとき
検索する文字列を ^l に変えるだけです。
| 消したいもの | 検索する文字列 | 置換後 |
|---|---|---|
| 段落記号(↵) | ^p | 空欄 |
| 手動改行(↓) | ^l | 空欄 |
| 両方まとめて | ^p と ^l を2回に分けて実行 | 空欄 |
Wordの検索と置換は1回に1種類しか指定できません。「↵と↓の両方」を消すときは、2回実行するかVBAを使います。
使い方②:改行を置換する(対応例)
「消す」のではなく「別の文字に変える」場合は、置換後の文字列を入力します。
| やりたいこと | 検索する文字列 | 置換後の文字列 |
|---|---|---|
| 改行を読点にする | ^p | 、 |
| 改行をスペースにする | ^p | (半角スペース) |
| 改行を句点+改行にする | ^p | 。^p |
| 手動改行を段落記号にする | ^l | ^p |
| 段落記号を手動改行にする | ^p | ^l |
| 空行を削除する | ^p^p | ^p |
| タブをスペースにする | ^t | (半角スペース) |
| 余分な空白を削除する | ^w | 空欄 |
^p^p → ^p の場合は、
空行がある文章を

置換処理によって

このように空行をなくしてすっきりさせることができます。

空行が消えないときは「繰り返す」
^p^p → ^p は、2行分の空行を1行にする動きです。
3行以上続く空行は、「すべて置換」を繰り返し押すか、VBAのループで処理します。
| 空行の数 | 「すべて置換」を押す回数 |
|---|---|
| 1行 | 1回 |
| 2行 | 2回 |
| 3行以上 | 消えるまで繰り返す(VBAがおすすめ) |
使い方③:表の中・テキストボックスの中を置換する
表やテキストボックスの中は、通常の置換が届かない場合があります。
| 場所 | 対処 |
|---|---|
| 表の中 | 表全体を選択してから置換する(セル内の改行は ^p で消せないことがある) |
| テキストボックス | ボックス内をクリックしてから置換する |
| ヘッダー・フッター | ヘッダーをダブルクリックして編集状態にする |
| 脚注 | 本文と別扱い。VBAで対象を切り替える |
Ctrl+Shift+8 を押すだけで見えるので、消す前に一度チェックしてみてください。
一括処理①:VBAで改行をまとめて削除する
文書全体の改行をまとめて消したいときは、VBAが確実です。
Sub 改行をすべて削除して1行にまとめる()
Dim doc As Document
Dim buf As String
Set doc = ActiveDocument
buf = doc.Content.Text
' 手動改行(↓)を削除
buf = Replace(buf, Chr(11), "")
' 段落記号を削除
buf = Replace(buf, vbCr, "")
doc.Content.Text = buf
MsgBox "改行をすべて削除しました"
End Sub
| コード | 意味 |
|---|---|
| Chr(11) | 手動改行(↓) |
| vbCr | 段落記号(↵) |
| Content.Text | 文書全体の文字列 |
一括処理②:VBAで空行をすべて削除する
^p^p → ^p を、空行がなくなるまで繰り返します。
Sub 空行をすべて削除する()
Dim doc As Document
Dim buf As String
Dim cnt As Long
Set doc = ActiveDocument
buf = doc.Content.Text
cnt = 0
' 空行(連続する段落記号)がなくなるまで繰り返す
Do While InStr(buf, vbCr & vbCr) > 0
buf = Replace(buf, vbCr & vbCr, vbCr)
cnt = cnt + 1
Loop
doc.Content.Text = buf
MsgBox cnt & "回の置換で空行を削除しました"
End Sub
一括処理③:フォルダ内の全ファイルをまとめて処理する
「複数のWordファイルを一括で」という場合は、フォルダを指定してループします。
Sub フォルダ内の全文書の空行を削除する()
Dim fso As Object, fol As Object, f As Object
Dim doc As Document
Dim buf As String
Dim folderPath As String
folderPath = "C:\作業\一括処理" ' 対象フォルダを指定
Set fso = CreateObject("Scripting.FileSystemObject")
Set fol = fso.GetFolder(folderPath)
For Each f In fol.Files
If LCase(fso.GetExtensionName(f.Name)) = "docx" Then
Set doc = Documents.Open(f.Path)
buf = doc.Content.Text
Do While InStr(buf, vbCr & vbCr) > 0
buf = Replace(buf, vbCr & vbCr, vbCr)
Loop
doc.Content.Text = buf
doc.Save
doc.Close
End If
Next f
MsgBox "完了しました"
End Sub
| ポイント | 内容 |
|---|---|
| 拡張子の判定 | docx のみ対象(doc・docm を除く) |
| 上書き保存 | 元に戻せないので事前にバックアップを取る |
| 処理できないファイル | パスワード保護・読み取り専用はエラーになるので除外する |
確実に消すなら、この記事のコードのように「文書のテキストを置き換える」方式がおすすめです。
うまくいかないときの対処法(トラブルシュート)
| 症状 | 原因 | 対処 |
|---|---|---|
| 「該当なし」と出る | 記号の指定ミス(^l と ^1、^p と ^P など) | ^p・^l(小文字)を確認する |
| 何も置換されない | 「ワイルドカードを使用する」がON | チェックを外す |
| 一部だけ置換される | 範囲選択が残っている | Ctrl + A で全選択するか、選択を解除する |
| 表の中が置換されない | 表の中は別扱いになる場合がある | 表を選択してから実行/VBAで処理する |
| 空行が残る | 空行が3行以上ある | 「すべて置換」を繰り返す/VBAのループを使う |
| レイアウトが崩れた | 段落がつながって書式が変わった | Ctrl + Z で戻し、改行を「、」等に置換する |
| 元に戻せない | 上書き保存してしまった | 「バージョン履歴」から復元する |
よくある間違い
| 間違い | 起きること | 正しいやり方 |
|---|---|---|
| ^l を ^1(数字の1)と入力 | 該当なしになる | 小文字のエル(^l)を使う |
| 段落記号と手動改行を同じ記号で消そうとする | 片方しか消えない | ^p と ^l を2回に分けて実行する |
| 「すべて置換」1回で空行が全部消えると思う | 3行以上の空行が残る | 繰り返す/VBAのループを使う |
| 改行を消して書式も消えた | 段落がつながりスタイルが変わる | 事前にバックアップを取る |
| ヘッダー・フッターを忘れる | そこだけ改行が残る | ヘッダーを編集状態にしてから置換する |
さいごに
今回は、Wordで改行を置換・削除する方法をまとめました。
・検索と置換で使う記号の一覧
・改行を削除する手順
・改行を置換する手順(対応例つき)
・VBAで一括処理する方法(サンプルコード)
・うまくいかないときの対処法
2. 消すときは置換後を空欄、変えるときは置換後に文字を入力
3. 空行は ^p^p → ^p。3行以上は繰り返すかVBA
4. VBAなら複数ファイルも一括処理できる
5. 上書き前にバックアップを必ず取る
1件ずつ改行を消していた作業が、置換1回で終わります。
大量の文書を扱うなら、VBAのフォルダ一括処理まで覚えておくと強い味方になりますね。
まずは手元の文書で、Ctrl + H から試してみてください。











コメントを残す