ExcelVBA 出力するページ範囲や特定シートのページ設定を操作する方法

 

ExcelVBA 印刷時に出力するページ範囲や特定のシートのページ設定を操作する機能。手動での印刷設定を効率よく自動化できます。使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

「VBAスキルを証明できれば、社内評価アップにつながるかもしれません
👉 VBAを学んで社内評価を上げる方法はこちら

 

 

Excel VBA 印刷時のページ設定シーン

以下のようなシーンで利用で表示します。

1.印刷範囲の設定
特定のデータだけを印刷する。

2.ページの順序や範囲を指定
必要なページだけ印刷する。

3.複数シートを一括で印刷設定
複数のシートで同じページ設定を適用する。

Excel VBA 印刷時のページ設定|使い方とポイント

使い方

以下の操作が可能です。

1.印刷範囲を設定
PageSetup.PrintArea プロパティを使用

2.印刷するページを指定
PrintOut メソッドで範囲指定

3.ページ番号や倍率を調整
PageSetup オプションを利用

ポイント

1.印刷範囲の設定ミス
範囲指定が間違っていると正しいデータが印刷されない。

2.ページ順序に注意
ページ番号はExcelでのレイアウト順に従うため、注意が必要

3.複数シートの操作
シートごとの設定が必要な場合、ループ処理が求められる。

 

Excel VBA  印刷時のページ設定のサンプルコード

「VBAスキルを証明できれば、社内評価アップにつながるかもしれません
👉 VBAを学んで社内評価を上げる方法はこちら

 

特定の印刷範囲を設定して印刷

Option Explicit

Sub SetPrintAreaAndPrint()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' 印刷範囲を設定
    ws.PageSetup.PrintArea = "$A$1:$D$20"
    
    ' 印刷(プレビュー)
    ws.PrintPreview
End Sub

特定のページ範囲を印刷

Option Explicit

Sub PrintSpecificPages()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' ページ範囲を指定して印刷
    ws.PrintOut From:=1, To:=2 ' 1ページ目から2ページ目まで印刷
End Sub

複数シートのページ設定を一括で適用

Option Explicit

Sub SetPageSettingsForAllSheets()
    Dim ws As Worksheet
    
    For Each ws In ThisWorkbook.Sheets
        With ws.PageSetup
            .Orientation = xlLandscape ' 横向き
            .Zoom = False
            .FitToPagesWide = 1 ' 横1ページに収める
            .FitToPagesTall = 1 ' 縦1ページに収める
        End With
    Next ws
    
    MsgBox "すべてのシートにページ設定を適用しました。"
End Sub

特定のシートを印刷

Option Explicit

Sub PrintSpecificSheet()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet2")
    
    ' 指定シートを印刷
    ws.PrintOut
End Sub

印刷プレビューを表示

Option Explicit

Sub ShowPrintPreview()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' 印刷プレビューを表示
    ws.PrintPreview
End Sub

「ページ指定」を活用すると、特定の範囲やシート、ページを効率的に印刷できるようになります。VBAを使うことで、日常の印刷作業が格段に楽になり、設定ミスも減らせます。

Excel VBAで自動化するコードのベースを習得したい方におすすめ!

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。

 

「VBAスキルを証明できれば、社内評価アップにつながるかもしれません