エクセルで印刷の位置がずれたり、用紙からはみ出たり、必要ないページが印刷されたりして困ったことありませんか?
特に共有プリンターや複数プリンターが選択できる場合、さらに共有パソコンともなると、よくある日常です。
このような場合の解決方法は2つありますので、実行している対策をご紹介します。
PaperSizeプロパティを使う解決法
A4サイズの用紙をVBAコードで設定することで、わざわざページ設定画面を開いて指定する必要がなくなりますので、手間も時間も節約でき仕事効率化になります。
いつものようにユーザーフォームに配置したコマンドボタンにVBAコードを書いています。
ページ設定でA4用紙に固定
Private Sub CommandButton1_Click()
Worksheets(“Sheet1”).PageSetup.PaperSize = xlPaperA4
End Sub
VBA解説
- コマンドボタン1がクリックされたら
- 「Sheet1」という名のシートの印刷のページ設定はA4用紙にする
- マクロ記録終了
A4以外にも用紙は選択できますので、定数を変更すれば用紙を指定できますよ。
定数 | 用紙サイズ |
xlPaperA4 | A4用紙 |
xlPaperA3 | A3用紙 |
xlPaperA5 | A5用紙 |
xlPaperB4 | B4用紙 |
xlPaperB5 | B5用紙 |
Dialogsプロパティを使う解決法
こちらの方法は単純にプリンターのプロパティーを呼び出して直接調整するDialogsプロパティを使う方法です。

プリンターのダイアログボックス表示
Application.Dialogs(xlDialogPrinterSetup).Show
この1行のVBAコードを書き加えれば、プリンター選択画面が表示されます。
詳しくは下記ページをご覧下さいませ。

とりっぷぼうる
印刷のページ設定をVBAで出来るのは用紙だけではありませんので、一緒に設定したほうが失敗印刷すなくて済みますよ。
印刷関連VBA