![見出し画像](https://assets.st-note.com/production/uploads/images/148001121/rectangle_large_type_2_9bdcae48520d6ad597bf98184ccd1269.jpeg?width=1200)
改ページを設定する
Excel VBAで改ページを設定するには、主に以下の2つの方法があります。
セル範囲指定による方法
横方向の改ページ
VBA
Sub HPageBreak()
' 対象ワークシートを指定
Worksheets("対象シート名").Activate
' 改ページ挿入位置のセルを指定
Set rng = Range("A1") ' セルA1に改ページを挿入
' 横方向の改ページを挿入
rng.HPageBreaks.Add
End Sub
コードは注意してご使用ください。
縦方向の改ページ
VBA
Sub VPageBreak()
' 対象ワークシートを指定
Worksheets("対象シート名").Activate
' 改ページ挿入位置のセルを指定
Set rng = Range("A1") ' セルA1の左側に改ページを挿入
' 縦方向の改ページを挿入
rng.VPageBreaks.Add
End Sub
コードは注意してご使用ください。
PageSetupプロパティによる方法
横方向の改ページ
VBA
Sub HPageBreakWithPageSetup()
' 対象ワークシートを指定
Worksheets("対象シート名").Activate
' 印刷範囲を設定
ActiveSheet.PageSetup.PrintArea = Range("A1:B10") ' セルA1:B10を印刷範囲に設定
' 横方向の改ページ位置を指定
ActiveSheet.PageSetup.HPageBreaks = 5 ' 5番目の行に横方向の改ページを挿入
End Sub
コードは注意してご使用ください。
縦方向の改ページ
VBA
Sub VPageBreakWithPageSetup()
' 対象ワークシートを指定
Worksheets("対象シート名").Activate
' 印刷範囲を設定
ActiveSheet.PageSetup.PrintArea = Range("A1:B10") ' セルA1:B10を印刷範囲に設定
' 縦方向の改ページ位置を指定
ActiveSheet.PageSetup.VPageBreaks = 5 ' 5列目に縦方向の改ページを挿入
End Sub
コードは注意してご使用ください。
補足
上記のコードはあくまで一例です。必要に応じて、セル範囲や改ページ位置を変更してください。
改ページはあくまで印刷時の挙動を制御するための機能であり、Excel上での表示やデータの配置には直接的な影響を与えません。
印刷プレビューや印刷時に改ページの効果を確認することをおすすめします。
複数の改ページを設定する場合は、それぞれ異なるセル範囲やPageSetupプロパティを設定する必要があります。
VBAで改ページを設定する場合、印刷範囲と改ページ位置を意識することが重要です。印刷範囲外のセルには改ページの影響が及ばないため、意図したレイアウトにならない可能性があります。
参考資料
【ExcelVBA 印刷】水平方向/垂直方向に改ページを挿入する方法について教えて! https://www.osiete-excelvba.work/entry/20210504/1620118571
VBAで改ページを設定・解除したい人必見!手順を分かりやすく解説 | 侍エンジニアブログ https://www.sejuku.net/blog/88251
改ページの挿入と印刷範囲を設定について - EXCEL VBA 業務の自動化を目指す https://gyoumujidou.jp/2021/11/05/改ページ挿入について/
この記事が気に入ったらサポートをしてみませんか?