エクセルVBAで印刷プレビューを表示する方法

印刷プレビュー印刷
VBA印刷プレビューのエラー

印刷プレビューをわざわざVBAでやる必要ある?って思いませんでしたか

普通に印刷からプレビュー表示できるじゃないのって思いますよね。

そして、印刷プレビューのVBAコードも短い1行なので必要性の疑問が・・・

スポンサーリンク

印刷プレビューを表示するVBAコード

印刷プレビューを表示するにはPrintPreviewメソッドを使い、ユーザーフォームに配置したコマンドボタンを押すと表示させるVBAコードはこちらです。

印刷プレビューを表示するVBAコード

Private Sub CommandButton1_Click()
ActiveSheet.PrintPreview
End Sub

<span class="fz-12px">とりっぷぼうる</span>
とりっぷぼうる

簡単だ!できた~!と思ったら大間違いです!!!

 

エクセルがフリーズしますのでctrl+alt+deleteでエクセルの強制終了が必要となりますよ!

このままコマンドボタンを押してしまったら・・・

印刷プレビュー押したらフリーズして動かなくなった
印刷プレビュー押したらフリーズして動かなくなった

ctrl+alt+deleteでエクセルの強制終了するしか方法がありません。

タスクマネージャーが開くのでエクセルを選択してタスク終了
タスクマネージャーが開くのでエクセルを選択してタスク終了

こんな感じになってしまうのでやってはいけません。

どうやら、ユーザーフォームと印刷プレビューは同時に表示させてはいけないようなので、印刷プレビューが表示される前にユーザーフォームを閉じましょう。

先に閉じてからプレビューする

Private Sub CommandButton1_Click()
Unload UserForm1
ActiveSheet.PrintPreview
End Sub

<span class="fz-12px">とりっぷぼうる</span>
とりっぷぼうる

これで問題解決できましたね。初めて印刷プレビューやった時は焦りましたよね、動かなくなったから。

印刷関連VBA
タイトルとURLをコピーしました