Excel印刷でイライラしないためのマクロ基本TipsExcelマクロ/VBAで始める業務自動化プログラミング入門(11)(3/4 ページ)

» 2016年09月15日 05時00分 公開
[薬師寺国安PROJECT KySS]

改ページによるずれ込みを防ぐために、PrintAreaプロパティで「印刷範囲」を固定して表示する設定を行う

 印刷範囲を設定するには、PageSetupオブジェクトのPrintAreaプロパティを使用する。使い方はPrintAreaに印刷する範囲を設定するだけなので簡単だ。

 図4のような表があったとしよう。これを印刷プレビューで見ると、図2のように[印刷プレビュー]のボタンが途切れて入り、図も最後の方が2ページ目にずれ込んでしまっている。これをそのまま印刷すると、A4用紙3枚に無駄に印刷されてしまう。

図4 データが3ページにずれ込んでいる

図5 印刷プレビューで見ると、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
リスト3 範囲を設定して印刷

 PrintAreaプロパティで[印刷プレビュー]ボタンを印刷範囲から外して設定している。他のプロパティの設定方法は先ほど紹介したものと同じなので、そちらを参照してほしい。

 このマクロを[印刷プレビュー]ボタンに登録してクリックすると、図6のように表示される。

図6 [印刷プレビュー]ボタンを外して印刷範囲を設定した

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。