Excel ワークシートを1枚の用紙に印刷する最適化マクロ-見やすく拡大&縮小!

Excel ワークシートを1枚の用紙に印刷する最適化マクロ – 見やすく拡大&縮小!

Excelのワークシートを印刷する際、小さな表を大きく拡大して1枚の用紙に収めることで、見やすくすることができます。今回は、できるだけ大きな倍率でワークシートを1枚の用紙に印刷するためのVBAマクロを紹介します。

マクロの概要と使い方

このマクロは、指定された最大倍率(最大400%)まで拡大してワークシートを印刷するものです。複数ページに分かれる場合は、1ページに収まるように縮小印刷されます。

マクロを使うには、まず以下のコードをコピーし、VBAエディタで新しいモジュールを作成し、コードを貼り付けます。

Sub AdjustZoomAndPageBreaks()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    
    ' オリジナルのズーム設定を保存
    Dim originalZoom As Integer
    originalZoom = ws.PageSetup.Zoom
    
    ' 最大ズームを設定
    Const maxZoom As Integer = 400
    ws.PageSetup.Zoom = maxZoom
    
    ' 改ページプレビューに切り替え
    ActiveWindow.View = xlPageBreakPreview

    ' 水平および垂直のページ区切りを調整
    On Error Resume Next
    ws.HPageBreaks(1).DragOff Direction:=xlDown, RegionIndex:=1
    ws.VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1
    On Error GoTo 0

    ' 通常のビューに戻す
    ActiveWindow.View = xlNormalView
    
    ' 印刷プレビューを表示
    ws.PrintPreview

    ' オリジナルのズーム設定に戻す
    ws.PageSetup.Zoom = originalZoom
End Sub

コードを貼り付けたら、Excelの画面に戻り、表があるシートをアクティブにします。その後、VBAエディタの画面に戻り、マクロを実行することで、ワークシートが指定の倍率で印刷プレビュー画面に表示されます。

最大拡大倍率について

このマクロでは、拡大倍率の上限を400%に設定しています。これはExcelの拡大縮小印刷の最大値であるためです。Excelの制限状、この最大値を超える拡大はできません。

カスタマイズと注意点

このマクロはシンプルなものですが、必要に応じてカスタマイズすることができます。例えば、特定のシートだけに適用したい場合は、ActiveSheetの部分をそのシート名に変更すれば対応可能です。

ただし、以下の点に注意してください。

  • このマクロは、実行前にアクティブシートを印刷対象のシートに変更する必要があります。
  • マクロ実行後は元のズーム設定に戻りますが、ページ区切りの位置は変更されたままとなります。
  • 用紙サイズや印刷時の余白設定など、プリンターの設定が適切になっていることを確認してください。

まとめ

この記事では、「Excel ワークシートを1枚の用紙に印刷する最適化マクロ」を紹介しました。ズーム率を最大400%まで拡大し、見やすく印刷することができるようになります。マクロのカスタマイズも可能で、効率的な印刷ができるようになります。このマクロを活用して、Excelの印刷をより快適にしていきましょう。

コメント