検索
連載

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

途中で切れて2ページ目にずれ込まないように表を1ページに収める方法、印刷時に繰り返し出したいヘッダーやフッターのさまざまな設定、改ページによるずれ込みを防ぐための「印刷範囲」の固定、「印刷タイトル」(見出し)の固定、「印刷プレビュー」の表示、印刷の実行方法などを解説【Windows 10、Excel 2016に対応】。

Share
Tweet
LINE
Hatena

改ページによるずれ込みを防ぐために、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.

ページトップに戻る