ExcelマクロVBAサンプル集
印刷ダイアログを使用する(xlDialogPrint)

ExcelマクロVBAの実用サンプル、エクセルVBA集と解説
最終更新日:2013-06-04

印刷ダイアログを使用する(xlDialogPrint)


入力しやすいように、セルに色をつけている事が多いと思いますが、


印刷時には、ちょっとじゃまな場合もあります。


インク(トナー)も無駄ですしね。



印刷時に色指定を解除して印刷する方法になります。


Sub sample()
  Dim rtn As Boolean
  ActiveSheet.Copy
  ActiveSheet.Cells.Interior.Color = xlNone
  rtn = Application.Dialogs(xlDialogPrint).Show
  ActiveWorkbook.Close SaveChanges:=False
  Select Case rtn
    Case True
      MsgBox "印刷されました。"
    Case False
      MsgBox "印刷がキャンセルされました。"
  End Select
End Sub

Application.Dialogs(xlDialogPrint).Show
印刷タイアログを表示します。

プリンター等、その都度自由に選択できますので、便利だと思います。


他は、シートをコピーし、色指定を消しているだけです。


上記マクロをボタン等に割り当てれば、便利に使えると思います。



先日、ツィッターで、


ブック印刷時に、特定のシートを印刷したくない、でもプリンターは選択したい、


というツイートを見ましたが、


その場合は、以下のマクロで良いでしょう。


Sub sample2()
  Dim rtn As Boolean
  Dim strSht As Variant
  Dim i As Integer
  strSht = Array("印刷しないシート1", "印刷しないシート2")
  For i = LBound(strSht) To UBound(strSht)
    Sheets(strSht(i)).Visible = False
  Next i
  rtn = Application.Dialogs(xlDialogPrint).Show
  For i = LBound(strSht) To UBound(strSht)
    Sheets(strSht(i)).Visible = True
  Next i
  Select Case rtn
    Case True
      MsgBox "印刷されました。"
    Case False
      MsgBox "印刷がキャンセルされました。"
  End Select
End Sub

このマクロをお好きなボタンに設定すれば完了です。


印刷ダイアログを使用すれば簡単に解決できますね。





同じテーマ「マクロVBAサンプル集」の記事

罫線を簡単に引く(Borders,BorderAround)
マクロの開始・終了(Applicationのプロパティ)
オートフィルター(AutoFilter)
日付のオートフィルタ(AutoFilter)
印刷ダイアログを使用する(xlDialogPrint)
名前定義の一覧(Name)
シートを名前順に並べ替える
数式内の不要なシート名を削除する(HasFormula)
数式の参照しているセルを取得する
増殖した条件付き書式を整理統合する
条件付き書式で変更された書式を取得する

新着記事NEW ・・・新着記事一覧を見る

Withステートメントの実行速度と注意点|VBA技術解説(6月6日)
VBA+SeleniumBasicで検索順位チェッカー(改)|VBA技術解説(6月2日)
マクロでShift_JIS文字コードか判定する|VBA技術解説(6月1日)
Shift_JISのテキストファイルをUTF-8に一括変換|VBAサンプル集(5月31日)
「VBAによる解析シリーズその2 カッコ」をやってみた|エクセル(5月21日)
VBA+SeleniumBasicで検索順位チェッカー作成|VBA技術解説(5月18日)
テーブル操作のVBAコード(ListObject)|VBA入門(5月12日)
テーブル操作の概要(ListObject)|VBA入門(5月12日)
VBAのスクレイピングを簡単楽にしてくれるSelenium|VBA技術解説(5月6日)
Excelワークシート関数一覧(2010以降)|VBAリファレンス(4月22日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.ひらがな⇔カタカナの変換|エクセル基本操作
7.繰り返し処理(For Next)|ExcelマクロVBA入門
8.マクロって何?VBAって何?|ExcelマクロVBA入門
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄



  • >
  • >
  • >
  • 印刷ダイアログを使用する(xlDialogPrint)

    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。






    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。

    本文下部へ