Excel VBA:印刷の書式設定 余白を設定する|PageSetupの使い方

PageSetupオブジェクトを使った印刷余白を設定するVBAです。




Homeに戻る > Excel 数値・文字列・検索・印刷のTipsへ


Excel VBAで印刷余白を設定するには、PageSetupオブジェクトを使います。

余白の単位は「ポイント」、「センチメートル」、「インチ」で設定することができます。

「センチメートル」の場合は、CentimetersToPointsでセンチをポイントに変換します。

「インチ」の場合は、InchesToPointsでインチをポイントに変換します。

余白設定は下記のプロパティを使用します。

  1. 上余白:TopMargin
  2. 下余白:BottomMargin
  3. 左余白:LeftMargin
  4. 右余白:RightMargin

関連する「中央に印刷する」を掲載しています、参照してください。



印刷余白を設定するVBA

■ Excelシート 実行画面

「余白をポイントでセット」ボタンでC列(ポイント)の余白をセットします。

「余白をセンチでセット」ボタンでD列(センチ)の余白をセットします。

余白は上から、上余白、下余白、左余白、右余白の値になっています。

印刷範囲

■ センチで設定した結果

  • 上余白:1
  • 下余白:2
  • 左余白:3
  • 右余白:4

になっています。

ページ設定

Excel VBA実行コード

Option Explicit

Private Sub CommandButton1_Click()
    Dim ln1 As Long
    
    '上余白
    ln1 = Range("C6")
    ActiveSheet.PageSetup.TopMargin = ln1
    '下余白
    ln1 = Range("C7")
    ActiveSheet.PageSetup.BottomMargin = ln1
    '左余白
    ln1 = Range("C8")
    ActiveSheet.PageSetup.LeftMargin = ln1
    '右余白
    ln1 = Range("C9")
    ActiveSheet.PageSetup.RightMargin = ln1
End Sub

Private Sub CommandButton2_Click()
    Dim fn1 As Double
    
    '上余白
    fn1 = Range("D6")
    ActiveSheet.PageSetup.TopMargin = Application.CentimetersToPoints(fn1)
    '下余白
    fn1 = Range("D7")
    ActiveSheet.PageSetup.BottomMargin = Application.CentimetersToPoints(fn1)
    '左余白
    fn1 = Range("D8")
    ActiveSheet.PageSetup.LeftMargin = Application.CentimetersToPoints(fn1)
    '右余白
    fn1 = Range("D9")
    ActiveSheet.PageSetup.RightMargin = Application.CentimetersToPoints(fn1)
End Sub



Homeに戻る > Excel 数値・文字列・検索・印刷のTipsへ

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


Copyright (c) Excel-Excel ! All rights reserved