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

 

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

 

日常業務でExcelを多用し、手動作業を減らしたいと考えている方へ
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事

 

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

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

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

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

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

使い方

以下の操作が可能です。

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

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

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

ポイント

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

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

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

 

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

基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事

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

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エキスパート」をご確認ください。