n行おきに改ページさせる
選択範囲内でn行おきに改ページを挿入するマクロです。
例えば、1000行に対して5行ずつ改ページを入れたいときに、200回も手動で改ページなんて入れてられません。
なので、マクロで楽しちゃいましょう。
改ページを設定したい矩形範囲を選択し、
n値を指定します。(仮に2を指定)
2行おきに改ページが挿入されました。
範囲選択する手間はありますが、例えば、同じシートの中で
- 1~50行目までは2行おきに改ページする
- 50~100行目は5行おきに改ページする
- 100行目以降は改ページを指定しない(用紙のサイズに合わせる)
のように、お好みで設定することができます。
HPageBreaks.Addメソッドを使用した簡単なプログラムです。
※一つのシートに1026を超える改ページは追加できません。
Sub n行おきに改ページを入れる() '選択範囲の行数がnで割り切れない場合は下端に改ページは入りません Dim n As Variant Dim y As Long Dim ye As Long n = Application.InputBox(Prompt:="選択範囲内でn行おきに改ページを入れます", Type:=1) If TypeName(n) = "Boolean" Or n < 1 Then Exit Sub End If y = Selection.Row '選択範囲の最初の行 ye = Selection.Rows(Selection.Rows.Count).Row '選択範囲の最終行 For i = y To ye + 1 Step n If i > 1 Then '1行目以前に改ページを入れることはできない ActiveSheet.HPageBreaks.Add (Cells(i, 1)) End If Next i End Sub
※SubからEnd Subまでをコピーし、標準モジュール等に貼り付けて使用して下さい。なお、マクロで実行した処理は「元に戻す」ことができません。実行前に一旦保存しやり直しのできる状態にしておいて下さい。標準モジュールにコードを貼り付けてマクロを使用する方法はこちら。
追記:改ページをすべて解除するには?
ページレイアウトタブ → 改ページ → すべての改ページを解除
で、行うことができます。