印刷範囲、改ページ位置の設定と解除

印刷範囲と改ページ位置を設定または解除する。

VBAで印刷範囲の設定と解除にはPrintAreaプロパティを利用し、PrintAreaプロパティの設定にはRangeオブジェクトのAddressプロパティを利用します。

改ページ位置の設定と解除にはPageBreakプロパティを利用します。
改ページの解除は「シート内全体の改ページの解除」と「行・列を指定しての解除」の方法があります。
なお、改ページには自動改ページと手動改ページがありますがPageBreakプロパティでは設定できるのは手動改ページだけになります。

 ●印刷範囲の指定

'******************************************************************
' 印刷範囲の指定
'******************************************************************
Sub setPrintArea()

    '印刷範囲の指定
    Dim rPrtArea As Range
    Set rPrtArea = Sheets("Sheet1").Range("B2:G20")
    
    '印刷範囲の設定("B2:G20"の範囲だけ印刷させる)
    Sheets("Sheet1").PageSetup.PrintArea = rPrtArea.Address

    'プレビューで確認
    Sheets("Sheet1").PrintPreview

End Sub

 ●印刷範囲の解除

'******************************************************************
' 印刷範囲の解除
'******************************************************************
Sub clrPrintArea()
    
    '印刷範囲の解除
    Sheets("Sheet1").PageSetup.PrintArea = ""
    
    'プレビューで確認
    Sheets("Sheet1").PrintPreview

End Sub

 ●改ページ位置の指定

'******************************************************************
' 改ページ位置の指定
'******************************************************************
Sub setPageBreak()
    
    '改ページ位置の指定(行位置)
    Sheets("Sheet1").Rows(10).PageBreak = xlPageBreakManual
    
    '改ページ位置の指定(列位置)
    Sheets("Sheet1").Columns("F").PageBreak = xlPageBreakManual
    
    'プレビューで確認
    Sheets("Sheet1").PrintPreview

End Sub

 ●すべての改ページ位置の解除

'******************************************************************
' すべての改ページ位置の解除
'******************************************************************
Sub clrPageBreakAll()
    
    'シート内の全ての改ページ位置の解除
    Sheets("Sheet1").Cells.PageBreak = xlPageBreakNone 'xlNoneでも可
    
    'プレビューで確認
    Sheets("Sheet1").PrintPreview

End Sub

 ●行・列を指定して改ページ位置を解除

'******************************************************************
' 改ページ位置の解除(行・列の指定)
'******************************************************************
Sub clrPageBreakRowCol()
    
    '改ページ位置の解除(行位置)
    Sheets("Sheet1").Rows(10).PageBreak = xlPageBreakNone 'xlNoneでも可
    
    '改ページ位置の解除(列位置)
    Sheets("Sheet1").Columns("F").PageBreak = xlPageBreakNone 'xlNoneでも可
    
    'プレビューで確認
    Sheets("Sheet1").PrintPreview

End Sub