教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAで印刷範囲を1ページに収める方法

構文

構文は以下の通りです。

With ActiveSheet.PageSetup
    .FitToPagesWide = 1
    .FitToPagesTall = 1
End With

解説

ActiveSheet.PageSetupは、現在アクティブなシートのページ設定を行います。FitToPagesWideは、横方向に何ページに収めるかを設定します。1を設定することで、横幅が1ページに収まるように調整されます。FitToPagesTallは、縦方向に何ページに収めるかを設定します。1を設定することで、縦長さが1ページに収まるように調整されます。

プログラミング例

具体的なプログラミング例を紹介します。

Sub 印刷範囲を1ページに収める()
    With ActiveSheet.PageSetup
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With
    MsgBox "印刷範囲が1ページに収まりました"
End Sub

上記のプログラムを実行すると、アクティブなシートの印刷範囲が自動的に1ページに収まるように調整されます。そして、最終的に「印刷範囲が1ページに収まりました」というメッセージが表示されます。これにより、印刷時にデータがページを跨いで見にくくなることを防ぐことができます。

まとめ

印刷範囲を1ページに収めるには、PageSetupのFitToPagesWideとFitToPagesTallを使います。これにより、データが1ページに収まるように自動的に調整されます。簡単なコードを使うことで、印刷時のレイアウトが整い、見やすい印刷結果が得られます。