エクセルVBAを使って標準画面と改ページプレビューを切り替える方法
文書や表などを作って印刷範囲を確認する時に、正しく印刷できるかの範囲を改ページプレビューを使う時に、「表示」「改ページ」と毎回クリックするのって面倒だと思いませんか?
たった1行のViewプロパティを使ってVBAコードを書くだけで簡単に切替できるようになりますよ。
Viewプロパティ
通常のワークシートを「標準」(初期設定)として、改ページプレビューがもう一つの表示モードと思えば難しくないですよね。
VIEWプロパティの既定値は以下のように決まっています。
定数 | 値 | 表示モード |
xlNormalView | 1 | 標準 |
xlPageBreakPreview | 2 | 改ページプレビュー |
表示モードを改ページプレビューにする
ユーザーフォームに配置したコマンドボタンを押すと、標準から改ページプレビューに表示が切り替わるようにしましょう。
Private Sub CommandButton1_Click()
ActiveWindow.View = xlPageBreakPreview
End Sub
- コマンドボタン1が押されたら
- 表示中のエクセルワークシートの表示モードを改ページプレビューにする
- マクロ終了
これでコマンドボタン1が押されたら改ページプレビューに表示モードが変わります。
表示モードを標準に戻す
改ページプレビューにしたら、こんどは標準に戻せないと不都合なので戻すVBAコードを用意しましょう。
Private Sub CommandButton1_Click()
ActiveWindow.View = xlNormalView
End Sub
- コマンドボタン1が押されたら
- 表示中のエクセルワークシートの表示モードを標準にする
- マクロ終了
表示モードの定数を変えるだけなのでとても簡単ですよね。
クリックするたびに標準/改ページプレビューに切り替え
改ページプレビューに表示を切り替えたり、標準に戻したりできるボタンを作れば、コマンドボタンを押すたびに表示モードが切り替わるので便利ですよね。
これができれば、わざわざ改ページプレビュー用のボタンと、標準に戻すボタンの2つ用意する必要がなくなります。
Private Sub CommandButton1_Click()
If ActiveWindow.View = xlNormalView Then
ActiveWindow.View = xlPageBreakPreview
ElseIf ActiveWindow.View = xlPageBreakPreview Then
ActiveWindow.View = xlNormalView
End If
End Sub
- コマンドボタン1が押されたら
- もし、表示モードが標準だったら
- 表示モードを改ページプレビューに切り替える
- そうでなく改ページプレビューだったら
- 標準モードに切り替える
- Ifステートメント終了
- マクロ記録終了
If~Thenを使って、もし標準だったら改ページプレビューにして、そうでない場合(改ページプレビュー)だったら、標準に戻すって書くだけです。
このようにボタン1つで表示を切り替えたり元に戻したりできると便利なので、ほかの表示方法も知っていて損はないと思いますよ!