【Excel VBA】行番号・列番号や枠線を含めてシートを印刷する方法

Excelのシートを印刷する際、分析やレビューのために「A, B, C…」といった列番号や「1, 2, 3…」の行番号、またセルの区切りを示す薄い灰色の枠線(グリッド線)も一緒に印刷したい、という場合があります。

これらの設定は通常、「ページレイアウト」タブから行いますが、VBAを使えばこの設定を自動化し、いつでも同じ形式で印刷することが可能です。この記事では、PageSetupオブジェクトを操作して、これらの項目を印刷対象に含める方法を解説します。


目次

PageSetupオブジェクトとは?

Excelの各ワークシートは、PageSetupというオブジェクトを持っています。このオブジェクトには、余白、印刷の向き、拡大縮小率、ヘッダー/フッターなど、印刷に関するあらゆる設定がプロパティとして格納されています。VBAからこのオブジェクトの値を変更することで、印刷設定を自由にコントロールできます。


完成したVBAコード

以下が、行・列番号と枠線を印刷する設定を行い、印刷プレビューを表示するVBAコードです。

Sub PrintSheetWithHeadersAndGridlines()

    ' 変数を宣言します
    Dim targetSheet As Worksheet
    
    ' 現在アクティブなシートを操作対象に設定
    Set targetSheet = ActiveSheet

    ' PageSetupオブジェクトの設定を変更します
    With targetSheet.PageSetup
        
        ' 「行列番号」の印刷を有効にする
        .PrintHeadings = True
        
        ' 「枠線」の印刷を有効にする
        .PrintGridlines = True
        
    End With

    ' 設定を反映した状態で「印刷プレビュー」を表示します
    targetSheet.PrintPreview
    
    ' 実際にプリンターから印刷する場合は、下の行を実行します
    ' targetSheet.PrintOut

End Sub

コードのポイント解説

① 行・列番号の印刷 (.PrintHeadings)

.PrintHeadings = True

PageSetupオブジェクトのPrintHeadingsプロパティをTrueに設定すると、印刷時にシートの行番号(1, 2, 3…)と列番号(A, B, C…)が含まれるようになります。これは、ページ設定ダイアログの「シート」タブにある「行列番号」のチェックボックスをオンにするのと同じ操作です。

② 枠線の印刷 (.PrintGridlines)

.PrintGridlines = True

同様に、PrintGridlinesプロパティをTrueにすると、**セルの区切りを示す薄い灰色の枠線(グリッド線)**が印刷されます。太線などの「罫線」とは異なり、あくまで画面上で表示されている補助的な線が対象です。これも、「枠線」のチェックボックスをオンにする操作に相当します。

③ 印刷の実行 (.PrintPreview / .PrintOut)

targetSheet.PrintPreview
' targetSheet.PrintOut

設定を変更した後、.PrintPreviewメソッドを実行すると、設定が反映された印刷プレビュー画面が表示され、意図通りになっているかを確認できます。

実際にプリンターから出力したい場合は、.PrintOutメソッドを使用します。.PrintOut Copies:=2のように引数を指定すれば、印刷部数をコントロールすることも可能です。


まとめ

Excelの印刷設定をVBAで操作する際の基本は、PageSetupオブジェクトにあります。

  • 行・列番号を印刷したい: ActiveSheet.PageSetup.PrintHeadings = True
  • 枠線(グリッド線)を印刷したい: ActiveSheet.PageSetup.PrintGridlines = True

これらの設定をマクロに組み込んでおくことで、手作業による設定ミスを防ぎ、いつでも誰でも同じフォーマットで印刷できるようになります。定型的な帳票の印刷処理などを自動化する際に、非常に役立つテクニックです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次