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

 

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

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

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

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

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

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

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

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

使い方

以下の操作が可能です。

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

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

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

ポイント

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

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

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

 

Excel 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

 

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

 

特定のページ範囲を印刷

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エキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問