ExcelマクロVBAサンプル集 | 印刷ダイアログを使用する(xlDialogPrint) | Excelマクロの実用サンプル、エクセル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

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


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





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

名前定義の一覧(Name)
シートを名前順に並べ替える
数式内の不要なシート名を削除する(HasFormula)
数式の参照しているセルを取得する
シートの追加・削除(Add,Delete)
シートの複数選択(Select)
複数シートの印刷(PrintOut)

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

最後の空白(や指定文字)以降の文字を取り出す|エクセル関数超技(3月26日)
先頭の数値、最後の数値を取り出す|エクセル関数超技(3月26日)
Excelファイルを開かずにシート名をチェック|ExcelマクロVBAサンプル集(3月23日)
数式の参照しているセルを取得する|ExcelマクロVBAサンプル集(3月18日)
CSVの読み込み方法(改の改)|ExcelマクロVBAサンプル集(3月17日)
変数とプロシージャーの命名について|ExcelマクロVBA技術解説(2月12日)
ファイルの一覧取得・削除(File)|Google Apps Script入門(1月24日)
フォルダの一覧取得・作成・削除(Folder)|Google Apps Script入門(1月24日)
フォルダとファイルを扱う(DriveApp)|Google Apps Script入門(1月24日)
スプレッドシートが非常に遅い、高速化するには|Google Apps Script入門(1月17日)

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

1.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
2.RangeとCellsの使い方|ExcelマクロVBA入門
3.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
4.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
5.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
6.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
7.変数とデータ型(Dim)|ExcelマクロVBA入門
8.ひらがな⇔カタカナの変換|エクセル基本操作
9.CSVの読み込み方法|ExcelマクロVBAサンプル集
10.VBAのFindメソッドの使い方には注意が必要です|ExcelマクロVBA技術解説



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

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


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

    ↑ PAGE TOP