Excel VBAで印刷する余白の設定をする:ポイントとセンチ

上下左右・ヘッダー・フッターの余白を、ポイントとセンチで設定するVBAを掲載しています。




Homeに戻る > Excel 印刷のTipsへ

Excel VBAで余白を設定するには、PageSetupオブジェクトのそれぞれのプロパティで設定します。

  • 上余白 : TopMargin
  • 下余白 : BottomMargin
  • 左余白 : LeftMargin
  • 右余白 : RightMargin
  • ヘッダー余白 : HeaderMargin
  • フッター余白 : FooterMargin

余白の指定はポイントで行いますが、CentimetersToPointsメソッドを使うとCmで指定できます。

CentimetersToPointsの構文

Application.CentimetersToPoints(センチメートル)

引数 センチメートル:倍精度浮動小数点型で指定します。


ただExcel場合、長さはプリンタや環境によって印刷結果が正確ではないようです。

正確さが必要な場合は、Wordを使用してください。


関連するVBA「ヘッダー・フッターに日付、ページ、シート名等を追加する」を掲載しています、参照してください。



余白をポイントとセンチで設定するVBA

Excelシート画面

■実行フォーム

シートに6個のボタンを配置しています。
  • CommandButton1 : 左右の余白設定 - 左余白10ポイント、右余白20ポイントに設定します。
    CommandButton4 : リセット - 左余白2センチ、右余白2センチに設定します。
  • CommandButton2 : 上下の余白設定 - 上余白20ポイント、下余白40ポイントに設定します。
    CommandButton5 : リセット - 左余白2.5センチ、右余白2.5センチに設定します。
  • CommandButton3 : ヘッダー・フッターの余白設定 - ヘッダー30ポイント、フッター60ポイントに設定します。
    CommandButton6 : リセット - ヘッダー余白1.3センチ、フッター余白1.3センチに設定します。
余白設定シート

■余白位置

余白は下図の矢印位置になります。

余白位置の説明図

Excel VBA実行コード

6個のボタンのクリックイベントのVBAです。

Option Explicit

'ボタン1のクリックイベント
Private Sub CommandButton1_Click()
    '左余白の設定
    Worksheets("Sheet1").PageSetup.LeftMargin = Range("C5").Value
    '右余白の設定
    Worksheets("Sheet1").PageSetup.RightMargin = Range("E5").Value
    'A4サイズに設定
    Worksheets("Sheet1").PageSetup.PaperSize = xlPaperA4
    '印刷プレビュー
    Worksheets("Sheet1").PrintPreview
End Sub

'ボタン2のクリックイベント
Private Sub CommandButton2_Click()
    '上余白の設定
    Worksheets("Sheet1").PageSetup.TopMargin = Range("C9").Value
    '下余白の設定
    Worksheets("Sheet1").PageSetup.BottomMargin = Range("E9").Value
    'A4サイズに設定
    Worksheets("Sheet1").PageSetup.PaperSize = xlPaperA4
    '印刷プレビュー
    Worksheets("Sheet1").PrintPreview
End Sub

'ボタン3のクリックイベント
Private Sub CommandButton3_Click()
    'ヘッダー余白の設定
    Worksheets("Sheet1").PageSetup.HeaderMargin = Range("C13").Value
    'フッター余白の設定
    Worksheets("Sheet1").PageSetup.FooterMargin = Range("E13").Value
    'A4サイズに設定
    Worksheets("Sheet1").PageSetup.PaperSize = xlPaperA4
    '印刷プレビュー
    Worksheets("Sheet1").PrintPreview
End Sub

Private Sub CommandButton4_Click()
    '左余白の設定
    Worksheets("Sheet1").PageSetup.LeftMargin = Application.CentimetersToPoints(2)
    '右余白の設定
    Worksheets("Sheet1").PageSetup.RightMargin = Application.CentimetersToPoints(2)
    'A4サイズに設定
    Worksheets("Sheet1").PageSetup.PaperSize = xlPaperA4
    '印刷プレビュー
    Worksheets("Sheet1").PrintPreview
End Sub

Private Sub CommandButton5_Click()
    '上余白の設定
    Worksheets("Sheet1").PageSetup.TopMargin = Application.CentimetersToPoints(2.5)
    '下余白の設定
    Worksheets("Sheet1").PageSetup.BottomMargin = Application.CentimetersToPoints(2.5)
    'A4サイズに設定
    Worksheets("Sheet1").PageSetup.PaperSize = xlPaperA4
    '印刷プレビュー
    Worksheets("Sheet1").PrintPreview
End Sub

Private Sub CommandButton6_Click()
    'ヘッダー余白の設定
    Worksheets("Sheet1").PageSetup.HeaderMargin = Application.CentimetersToPoints(1.3)
    'フッター余白の設定
    Worksheets("Sheet1").PageSetup.FooterMargin = Application.CentimetersToPoints(1.3)
    'A4サイズに設定
    Worksheets("Sheet1").PageSetup.PaperSize = xlPaperA4
    '印刷プレビュー
    Worksheets("Sheet1").PrintPreview
End Sub


Homeに戻る > Excel 印刷のTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved