Word2007の表各セルに存在する空白行を削除したく、ネット上で以下のプログラムを見つけて実行しましたが、表外では希望通りに空白行が消えますが、表中の各セルにある空白行が消えません。ファイル数・セル数が多く手作業では時間が掛りすぎますので、なんとか良い方法がないかと四苦八苦しています。VBAは初心者です。宜しくお願いします。
Sub カラ行削除()
'
'
With ActiveDocument.Content.Find
.Text = "^p^p"
With .Replacement
.Text = "^p"
End With
.Execute Replace:=wdReplaceAll
End With
End Sub
No.1ベストアンサー
- 回答日時:
質問のマクロにある^pは段落記号なので、段落記号だけが連続している
ものを一つにするものであって、表のセル内であっても空の段落が連続
している場合も有効なはずです。
ただし、セルの最後にある段落記号と少し形の違う[セルの終了記号]と
段落記号が連続している場合には、質問のマクロではできません。
[セルの終了記号]は特殊記号の一つですがで、検索機能でも使える^pの
ような特殊記号と違って、一般機能の検索では探せないらしいです。
マクロで作業ができるなら、以下のGoogleグループにあるマクロで対応
してはいかが。参照先 microsoft.public.word.vba.general より
https://groups.google.com/forum/#!topic/microsof …
How to delete blank line at end of table cell?
回答者Klaus氏のマクロ
Sub セルの終了記号と段落記号の連続を削除()
'
Dim tableLoop as Table
Dim cellLoop As Cell
For each tableLoop in ActiveDocument.tables
For Each cellLoop In tableLoop.Range.Cells
While Right(cellLoop.Range.Text, 3) = Chr(13) & Chr(13) & Chr(7)
cellLoop.Range.Characters.Last.Previous.Delete
Wend
Next cellLoop
Next tableLoop
End Sub
このマクロは、[セルの終了記号]である Chr(13)&Chr(7)と段落記号が
続いているだけのものを捜し削除してくれるマクロです。
表が複数あっても対応してくれます。
セル内のテキストが書かれた複数段落の途中にある空白行の場合には、
質問にあるマクロで削除できますから問題ないと思います。
ご案内いただいたマクロで希望した通りの結果が出ました。本当に助かります。ありがとうございます。VBAの内容はこれから勉強させてもらいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Excel(エクセル) Vba エクセルマクロで、 A列の、A1セルからA10セルに空白のある行を削除する、のは Range 3 2022/11/05 17:44
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
マクロを実行すると画像がズレ...
-
セル背景や文字を点滅させる方法
-
【マクロ】ファイル名の変更に...
-
範囲指定をしてPDF保存vba
-
EXCELのセルや文字色の反映
-
excelで セルの移動時に...
-
クリックすると文章が表示され...
-
セルがクリックされた回数をカ...
-
太字に設定されているセルの個...
-
セルの値が変ると自動でマクロ...
-
フォントの色を指定して削除出...
-
エクセル 未入力セルがあると...
-
現在のセルの位置を返す関数は...
-
Excelで、図形内の文字をセルに...
-
小数点以下の文字だけ書式を変...
-
エクセル マクロ 相対パスか...
-
【EXCEL】先週の月曜日の日付を...
-
Excelで挿入した図をセルの中央...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
太字に設定されているセルの個...
-
Excel ハイパーリンクのURLを別...
-
Excelで、図形内の文字をセルに...
-
マクロを実行すると画像がズレ...
-
現在のセルの位置を返す関数は...
-
Excelで挿入した図をセルの中央...
-
フォントの色を指定して削除出...
-
VBA 見つからなかった時の処理
-
エクセルでの検索ボックスの作...
-
エクセル 未入力セルがあると...
-
Excel2007 色のカウント (VBA)
-
エクセルでPDFリンクを大量...
-
【EXCEL】先週の月曜日の日付を...
-
EXCELのセルや文字色の反映
-
セルがクリックされた回数をカ...
おすすめ情報