
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Word VBA 表中の空白行を削除する方法
Word(ワード)
-
Word版VBで表の任意の箇所を取得する(Cellメソッド)
Visual Basic(VBA)
-
WordVBA 行の削除
その他(Microsoft Office)
-
-
4
Cell内の一部を指定する方法(Word VBA)
その他(Microsoft Office)
-
5
Wordマクロ、選択した複数行を1行ずつ読み込みたい
Word(ワード)
-
6
WordVBA 置換処理での改行文字の可否
その他(Microsoft Office)
-
7
ワードマクロで指定範囲内の改行の数を調べたいと思っています。下記のよう
Word(ワード)
-
8
Word のVBAについて初心者なのですが、質問があります。
Word(ワード)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
Excelで、図形内の文字をセルに...
-
エクセル 数字をすべて○などの...
-
Excel ハイパーリンクのURLを別...
-
Excelでセルをクリックす...
-
クリックすると文章が表示され...
-
太字に設定されているセルの個...
-
マクロを実行すると画像がズレ...
-
Excel2007 色のカウント (VBA)
-
excelのソルバーをVBAで複数行...
-
エクセルでPDFリンクを大量...
-
ページ内ハイパーリンクの表示...
-
シート保護とグループ化機能を...
-
エクセルVBA
-
エクセルでセルをダブルクリッ...
-
フォントの色を指定して削除出...
-
エクセル 未入力セルがあると...
-
小数点以下の文字だけ書式を変...
-
[エクセル VBA]テキストファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
Excelで、図形内の文字をセルに...
-
クリックすると文章が表示され...
-
Excel2007 色のカウント (VBA)
-
Excel ハイパーリンクのURLを別...
-
太字に設定されているセルの個...
-
Excelでセルをクリックす...
-
セルの内容をテキストボックス...
-
セルがクリックされた回数をカ...
-
エクセルでPDFリンクを大量...
-
フォントの色を指定して削除出...
-
現在のセルの位置を返す関数は...
-
エクセルでセルをダブルクリッ...
-
未記入がある場合はマクロを実...
-
Excel:セルの値(文字列)を数...
-
マクロを実行すると画像がズレ...
-
アポストロフィーの一括挿入 ...
-
シート保護とグループ化機能を...
おすすめ情報