
大きなワードの表が1つあり、市章村別に分けて図やらコメントを入れています。市町村名の行は全体に塗りつぶししています。問題は市町村名の行がページの最終行になり、その市町村の図やコメントが次ページになっている場合があり見えにくいのです。そこで、検索した塗りつぶし行のページ番号と次の行のページ番号が違う場合には、塗りつぶし行のところで改行する以下の様なプログラムを本やインターネットを参考にしながら作りました。しかし、最初の塗りつぶし行は正しく改行処理されましたが、エラーも出ず、終了してしまいます。 改行されることにより、表数が増えることが問題なのでしょうか?ご指摘よろしくお願いします。また他の方法で対処できますでしょうか? よろしくお願いします。
Sub 検索して改ページを挿入()
'
'
Dim myTable As Table
Dim myCell As Cell
Dim mypage1 As Integer
Dim mypage2 As Integer
Dim i As Integer
Application.ScreenUpdating = False
For Each myTable In ActiveDocument.Tables
If myTable.Uniform = False Then
For i = 1 To myTable.Rows.Count
If myTable.Cell(i, 1).Shading.BackgroundPatternColor = -603930625 Then
Set myCell = myTable.Cell(i, 1)
myCell.Select
mypage1 = Selection.Information(wdActiveEndAdjustedPageNumber)
Selection.MoveDown Unit:=wdLine, Count:=1
mypage2 = Selection.Information(wdActiveEndAdjustedPageNumber)
If mypage1 <> mypage2 Then
Selection.MoveUp Unit:=wdLine, Count:=1
Selection.InsertBreak Type:=wdPageBreak
End If
End If
Next
End If
Next
Application.ScreenUpdating = True
End Sub
No.1ベストアンサー
- 回答日時:
無理やり改ページ(wdPageBreak)を入れる方法は、その位置よりも
前の行などで編集した結果で行数が増えた場合に問題になります。
その行が、常にページ先頭で開始する設定をするのであれば問題は
ないですが、質問文を読む限りだと市町村の行の位置はページ内で
変動しますよね
今回のような場合だと、ページの最終行へと市町村の行がくる場合
のみ行を改ページするようにしたいだけならば、段落書式で設定する
[改ページ位置の自動修正]を使うべきです。
https://ameblo.jp/gidgeerock/entry-11492078801.h …
マクロは未検証ですが、以下のようにしてみては。
Sub 検索して改ページを挿入()
'
'
Dim myTable As Table
Dim myCell As Cell
Dim i As Integer
Application.ScreenUpdating = False
For Each myTable In ActiveDocument.Tables
If myTable.Uniform = False Then
For i = 1 To myTable.Rows.Count
If myTable.Cell(i, 1).Shading.BackgroundPatternColor = -603930625 Then
Set myCell = myTable.Cell(i, 1)
myCell.Range.ParagraphFormat.KeepWithNext = True
End If
Next
End If
Next
Application.ScreenUpdating = True
End Sub
早速ご連絡ご指導いただきありがとうございます。早速マクロの検証をしたところ、希望通りの結果が得られました。改ページを入れなければ、表は1つで、他のマクロにも転用できます。本当にありがとうございます。ベストアンサーに選ばせて頂きます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelでページ番号を -1-にした...
-
エクセル フッターのページを...
-
ページ設定が縦横まざった文書...
-
Wordのページ番号が1ページか...
-
一太郎に詳しい方お願いします...
-
word2007 画像をページ一杯に広...
-
ワードの原稿用紙設定でページ...
-
偶数ページのみページ番号を振...
-
[ワード(word)]目次で見出し文...
-
Wordで1ページ中に開始番号の...
-
Wordでページ番号の設定 現在の...
-
PDFにページを付けたい
-
word2013でのページ番号の表示...
-
EGWORD のページを付けたい
-
EXCELでヘッダーを使わずにペー...
-
複数のファイルに連番のページ...
-
エクセルでページ数を逆につけたい
-
花子13で困ってます
-
Word(ワード)で、フッターとヘ...
-
Wordの緑の原稿用紙設定って、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでページ番号を -1-にした...
-
ページ設定が縦横まざった文書...
-
エクセル フッターのページを...
-
Wordのページ番号が1ページか...
-
WordでPDF保存するとページ番号...
-
EXCELでヘッダーを使わずにペー...
-
Wordで用紙が縦横混在した文書...
-
[ワード(word)]目次で見出し文...
-
パワーポイントの3枚目から1...
-
word2007 画像をページ一杯に広...
-
Word(ワード)で、フッターとヘ...
-
一太郎の改ページ機能(?)
-
ワードのヘッダー部分に表(枠...
-
ページが増やせない
-
Wordで1ページ中に開始番号の...
-
ワードの原稿用紙設定でページ...
-
複数のファイルに連番のページ...
-
Wordでフッターに2回ずつページ...
-
偶数ページのみページ番号を振...
-
一太郎に詳しい方お願いします...
おすすめ情報