
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も見ています
-
Word VBA 表中の空白行を削除する方法
Word(ワード)
-
WordVBA 行の削除
その他(Microsoft Office)
-
Word版VBで表の任意の箇所を取得する(Cellメソッド)
Visual Basic(VBA)
-
-
4
Word VBA。各マクロの間に待ち時間を指定するには?
Word(ワード)
-
5
Cell内の一部を指定する方法(Word VBA)
その他(Microsoft Office)
-
6
指定した文字があった場合、その行を削除するマクロが欲しいです
Excel(エクセル)
-
7
Wordマクロ、選択した複数行を1行ずつ読み込みたい
Word(ワード)
-
8
差し込み印刷 Next Record
Word(ワード)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
Excel2007 色のカウント (VBA)
-
Excel ハイパーリンクのURLを別...
-
エクセルでセルをダブルクリッ...
-
excelのソルバーをVBAで複数行...
-
フォントの色を指定して削除出...
-
Excelで、図形内の文字をセルに...
-
太字に設定されているセルの個...
-
現在のセルの位置を返す関数は...
-
セルの内容をテキストボックス...
-
エクセルマクロ 赤色の文字を検...
-
【Excel VBA】フォーム上のテキ...
-
アポストロフィーの一括挿入 ...
-
Excel:セルの値(文字列)を数...
-
Enterキーの移動方向を指...
-
エクセル マクロ 相対パスか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
クリックすると文章が表示され...
-
Excelで、図形内の文字をセルに...
-
Excelでセルをクリックす...
-
Excel ハイパーリンクのURLを別...
-
太字に設定されているセルの個...
-
マクロを実行すると画像がズレ...
-
セルの内容をテキストボックス...
-
フォントの色を指定して削除出...
-
Excel:セルの値(文字列)を数...
-
Excel2007 色のカウント (VBA)
-
エクセルでPDFリンクを大量...
-
アポストロフィーの一括挿入 ...
-
現在のセルの位置を返す関数は...
-
エクセルでセルをダブルクリッ...
-
空白セルを空セルに置き換える...
-
エクセル シート保護された共...
-
エクセル 未入力セルがあると...
おすすめ情報