教えて!ExcelVBA!

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

【ExcelVBA 印刷】印刷範囲を1ページに収めて印刷する方法について教えて!

構文

構文は以下の通りです。

Worksheets(シート名).PageSetup.FitToPagesTall = ページ数
Worksheets(シート名).PageSetup.FitToPagesWide = ページ数

解説

Excel VBAの「PageSetup.FitToPagesTall」および「PageSetup.FitToPagesWide」は、印刷時に指定した範囲のデータを指定したページ数に収めるための機能です。これらのプロパティを使用することで、印刷範囲を指定したページ数に合わせて調整することができます。

使い方

まず、対象となるシートを指定します。シート名は、Worksheetsオブジェクトを使用してアクセスできます。次に、「PageSetup.FitToPagesTall」および「PageSetup.FitToPagesWide」のプロパティに、印刷するページ数を指定します。これにより、印刷範囲が指定したページ数に収まるように調整されます。

プログラミング例

以下の例では、シート名を「Sheet1」とし、印刷範囲を2ページの高さと3ページの幅に設定しています。

Sub AdjustPrintArea()
    Dim ws As Worksheet
    Set ws = Worksheets("Sheet1")
    ws.PageSetup.FitToPagesTall = 2
    ws.PageSetup.FitToPagesWide = 3
End Sub

このプログラムを実行すると、「Sheet1」の印刷範囲が2ページの高さと3ページの幅に自動的に調整されます。

まとめ

「PageSetup.FitToPagesTall」と「PageSetup.FitToPagesWide」は、印刷時のページ範囲を指定するための便利な機能です。これらのプロパティを使用することで、印刷範囲を指定したページ数に合わせて自動的に調整することができます。これは、大量のデータを印刷する場合や、特定のページ数に合わせて印刷する必要がある場合に役立ちます。