Excel VBAで印刷プレビューの表示倍率をPageSetupとZoomで設定する

シートに配置したコンボボックスで表示倍率を変更するVBAを掲載しています。




Homeに戻る > Excel 印刷のTipsへ

表示倍率をExcel VBAで変更するには、PageSetupオブジェクトのZoomプロパティを設定します。
印刷プレビューは、PrintPreview メソッドを実行します。

VBAの実行手順

ワークシートが開いた時に発生するイベント「Workbook_Open」で、コンボボックスに選択するリストを設定します。
コンボボックスにリストを追加するには、AddItemを使用します。
設定した倍率は、50間隔で50~300にしています。
印刷プレビューボタンをクリックすると、クリックイベントが発生し、次のVBAを実行します。

  • コマンドボックスで倍率が指定されているかチェックします。
  • 指定されていなければ、イベントを終了します。
  • PageSetupオブジェクトのZoomプロパティにコンボボックスの倍率をセットします。
  • PrintPreview メソッドで印刷プレビューを実行します。

関連する「指定ページ以内に印刷が入るように設定」も参照してください。




Excel実行シート

コンボボックスで表示倍率を選択し、「印刷プレビュー」ボタンをクリックすると、右の都道府県別の「人口」「面積」「人口密度」の一覧表を印刷します。

印刷表示サイズの設定シート

[表示倍率50%での印刷プレビュー画面]

50%で印刷表示

[表示倍率200%での印刷プレビュー画面]

200%で印刷表示


Excel VBA実行コード

Option Explicit

Private Sub Workbook_Open()
    
    '表示倍率のコンボボックスのリストに追加
    Worksheets("Sheet1").ComboBox1.AddItem 50
    Worksheets("Sheet1").ComboBox1.AddItem 100
    Worksheets("Sheet1").ComboBox1.AddItem 150
    Worksheets("Sheet1").ComboBox1.AddItem 200
    Worksheets("Sheet1").ComboBox1.AddItem 250
    Worksheets("Sheet1").ComboBox1.AddItem 300

End Sub
Option Explicit


Private Sub CommandButton1_Click()
    
    If ComboBox1.Value = "" Then
        MsgBox "表示倍率を設定してください。"
        Exit Sub
    End If
    
On Error GoTo ErrExit:
    '表示倍率
    Worksheets("Sheet1").PageSetup.Zoom = Val(ComboBox1.Value)
    '印刷プレビュー
    Worksheets("Sheet1").PrintPreview
    Exit Sub

ErrExit:
    MsgBox "エラーが発生しました。処理を中止します。" & vbCrLf & Err.Description
End Sub



Homeに戻る > Excel 印刷のTipsへ

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


Copyright (c) Excel-Excel ! All rights reserved