調べたいExcel-VBAの使用例などキーワードを入力してください

印刷のページ設定でVBAで自動的に余白無しに設定する

Excel-VBA印刷

エクセルで印刷の位置がずれたり、用紙からはみ出たり、必要ないページが印刷されたりして困ったことありませんか?

特に共有プリンターや複数プリンターが選択できる場合、さらに共有パソコンともなると、よくある日常です。

ここでは上下左右の余白をVBAで指定して、意図した位置で印刷できるようにします。

スポンサーリンク

ページの余白を設定する

余白の設定は、エクセルのワークシートから「ファイル」➡「印刷」➡「ページ設定」➡「余白」の順に進むと設定できますが、VBAを使ってエクセルを管理しているのでついでに設定しておいて損は無いですよ。

いつものようにユーザーフォームに配置したコマンドボタンに余白無し「0」の設定を書いています。

ポイント単位で余白を上下左右0設定

ポイント単位で余白指定

Private Sub CommandButton1_Click()
With ActiveSheet.PageSetup
.TopMargin = (0)
.BottomMargin = (0)
.LeftMargin =(0)
.RightMargin = (0)
End With
End Sub

VBA解説
  1. コマンドボタン1がクリックされたら
  2. 現在表示中のシートのページ設定をする
  3. 上の余白を0ptにする
  4. 下の余白を0ptにする
  5. 左の余白を0ptにする
  6. 右の余白を0ptにする
  7. Withステートメント終了
  8. マクロ記録終了

センチ単位で余白を上下左右0設定

余白無しの0ならば、ポイント単位だろうがセンチ単位だろうが変わりませんが、余白を少しでも必要ならばポイント単位よりもセンチ単位の方が分かりやすいので、下記のようにApplication.CentimetersToPointsを付け加えればセンチ単位になります。

センチ単位で余白設定

Private Sub CommandButton1_Click()
With ActiveSheet.PageSetup
.LeftMargin = Application.CentimetersToPoints(0)
.RightMargin = Application.CentimetersToPoints(0)
.TopMargin = Application.CentimetersToPoints(0)
.BottomMargin = Application.CentimetersToPoints(0)
End With
End Sub

とりっぷぼうる
とりっぷぼうる

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

スポンサーリンク

印刷関連VBA

スポンサーリンク
ボタン1つで作業完了へ
ちょっとの工夫でエクセル作業が飛躍的に早く終わったらいいなあ~と思いませんか? 面倒くさい作業よ!さようなら!

スポンサーリンク


印刷
参考になりましたらシェア宜しくお願い致します

山頂テラスデッキからの三段紅葉(2019年11月)

フリーパスって助成金つぎ込んでいいの?

コロナ禍のGo To トラベル以外にも助成金だらけでうらやましいね。

安くなったフリーパスで遊びに行きたいけど、給与も減って余裕ないよね。

Excel VBA