罫線の下端で改ページするマクロ

Pocket

Excelで罫線を使って表を作る場合は多いです。
一つのシートに複数の表を縦に作っていく場合、表の途中で改ページされると困ることがあります。
そこであらかじめ、それぞれの表の下端で改ページしておく、という方法が考えられます。
これを自動的に実行するマクロを作りました。

「表の下端」の定義ですが、次のように考えます。
「左と下に罫線がなく、その上のセルの左と下に罫線があるセル」
これをシートの上からチェックして該当するセルが見つかったら改ページを入れます。

Sub 罫線の下端で改ページ()
    Const c = 1 'チェックする列
    For r = 2 To 1000
        left0 = Cells(r - 1, c).Borders(7).LineStyle
        bottom0 = Cells(r - 1, c).Borders(9).LineStyle
        left1 = Cells(r, c).Borders(7).LineStyle
        bottom1 = Cells(r, c).Borders(9).LineStyle
        If left0 <> xlNone And bottom0 <> xlNone And left1 = xlNone And bottom1 = xlNone Then
            Cells(r, c).PageBreak = xlPageBreakManual
        Else
            Cells(r, c).PageBreak = xlNone
        End If
    Next r
End Sub

繰り返し条件は単純化して1000行目までとしています。

まず、該当セルの上のセルの左と下の罫線を調べます。Bordersの7が左、9が下です(ちなみに8が上、10が右です)。LineStyleがxlNoneだと罫線なしです。
同様に該当セルの左と下の罫線を調べます。
これらが先程の定義に合うかチェックし、合えば改ページを入れます。PageBreakにxlPageBreakManualをセットします。

[ 2011年12月9日 | カテゴリー: Excel | タグ: , , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報