印刷範囲を設定するには、PageSetupオブジェクトのPrintAreaプロパティを使用する。使い方はPrintAreaに印刷する範囲を設定するだけなので簡単だ。
図4のような表があったとしよう。これを印刷プレビューで見ると、図2のように[印刷プレビュー]のボタンが途切れて入り、図も最後の方が2ページ目にずれ込んでしまっている。これをそのまま印刷すると、A4用紙3枚に無駄に印刷されてしまう。
この表を[印刷プレビュー]ボタンは外して、A4の用紙1枚に印刷するには、先のPrintAreaプロパティを使うといい。マクロはリスト3のようになる。シート名は「社員売上金額」としている。
Option Explicit Sub 範囲を指定して印刷() With Worksheets("社員売上金額").PageSetup .PrintArea = "B1:E45" .Orientation = xlPortrait .Zoom = False .FitToPagesTall = 1 .FitToPagesWide = 1 .LeftHeader = "売上金額一覧" .CenterHeader = "&""Meirio UI""&B&18平成27年度年売上表" .LeftFooter = "&F:&A" .CenterFooterPicture.Filename = ActiveWorkbook.Path & "\Kyssロゴ.png" .CenterFooter = "&G" .RightFooter = "&P/&Nページ" End With Worksheets("社員売上金額").PrintPreview End Sub
PrintAreaプロパティで[印刷プレビュー]ボタンを印刷範囲から外して設定している。他のプロパティの設定方法は先ほど紹介したものと同じなので、そちらを参照してほしい。
このマクロを[印刷プレビュー]ボタンに登録してクリックすると、図6のように表示される。
Copyright © ITmedia, Inc. All Rights Reserved.