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

ExcelマクロVBAの実用サンプル、エクセルVBA集と解説
公開日:2013年5月以前 最終更新日: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サンプル集」の記事

マクロVBAの開始時と終了時に指定しておくべきApplicationのプロパティ

・マクロVBA開始時 ・マクロVBA終了時 ・Applicationのプロパティ解説 ・マクロが途中で終了した場合
オートフィルター(AutoFilter)
エクセルでは、定番機能のフィルターです。「Sheet1」のA列でフィルターし、「Sheet2」へコピーします。ごく基本的なフィルターです。フィルターのセル範囲指定は、いろいろな指定が可能です。「連続セル範囲の選択 」も参考にして下さい。
日付のオートフィルタ(AutoFilter)
とても便利なオートフィルターですが、日付となると、結構大変です。以下の表で説明します。普通は、こんなように指定します。Operator:=xlFilterValues は2007以降で追加された機能です。
印刷ダイアログを使用する(xlDialogPrint)
名前定義の一覧と削除(Name)
・名前定義の一覧を取得し、シートに書き出すマクロVBA ・非表示の名前定義を表示 ・サイト内の関連ページ
シートを名前順に並べ替える
シートを名前順に並べ替える方法になります。配列を使っていますが、配列が難しい場合は、シートに書き出して処理すれば良いでしょう、並べ替えもシート上なら簡単です。上記では、シート名を文字列として処理しています。
数式内の不要なシート名を削除する(HasFormula)
複数のシートにまたがる数式を入力していると、自身のシート名!が数式についてしまいます、この自身のシート名!は不要であり、式を見づらくしてしまいます、この不要なシート名を、マクロVBAで一括削除します。ブックの全シート、全セルを対象として、数式の中から、自身のシート名!を削除するマクロVBAになります。
数式の参照しているセルを取得する
セルに入っている数式の参照しているセルを取得するには、RangeのPrecedentsプロパティを使いますが、このプロパティは他のシートの参照には対応していません。また、セルの参照先を取得するプロパティには、Dependentsプロパティがあります。
増殖した条件付き書式を整理統合する
・条件付き書式の増殖に関する、Microsoft サポート ・増殖した条件付き書式の実例と対応 ・簡単なVBAでの対応 ・VBAで条件付き書式を整理統合した結果 ・今回のVBAコードの発想について ・Application.ConvertFormulaメソッド ・増殖した条件付き書式を整理統合するVBA ・条件付き書式で設定できる書式 ・増殖した条件付き書式を整理統合するVBAの使い方 ・増殖した条件付き書式を整理統合の最後
条件付き書式で変更された書式を取得する
条件付き書式が設定されている場合、当然ですが見た目は、本来そのセルに設定されている書式ではなく、条件付き書式の条件によって設定されている書式になります。VBAで、この条件付き書式によって設定された書式を取得します。これが取得できるようになったのは、Excel2010からですので、このページで紹介するVBAコードはE…
セル結合/解除でセル値を退避/回復
・セル結合/解除でセル値を退避/回復のVBA ・退避したセル値の全削除と一覧出力 ・セル結合/解除の最後に


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

第5章:AI×VBAでつまづかない!トラブルシューティングとAIとの付き合い方 |生成AI活用研究(2025-05-20)
第4章:【事例で学ぶ】AIとVBAでExcel作業を劇的に効率化する! |生成AI活用研究(2025-05-20)
第3章:AIを「自分だけのVBA先生」にする!質問・相談の超実践テクニック|生成AI活用研究(2025-05-19)
第2章 VBAって怖くない!Excelを「言葉で動かす」(超入門)|生成AI活用研究(2025-05-18)
第1章:AIって一体何?あなたのExcel作業をどう変える?(AI超基本)|生成AI活用研究(2025-05-18)
AI時代のExcel革命:AI×VBAで“書かない自動化”超入門|生成AI活用研究(2025-05-17)
Geminiと100本ノック 23本目:シート構成の一致確認|生成AI活用研究(5月16日)
AIが問う出版の未来は淘汰か進化か:AIと書籍の共存の道とは|生成AI活用研究(2025-05-16)
Geminiと100本ノック 22本目:FizzBuzz発展問題|生成AI活用研究(5月15日)
すぐに使える!生成AI プロンプト作成 実践ガイド|生成AI活用研究(2025-05-15)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.繰り返し処理(For Next)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.ひらがな⇔カタカナの変換|エクセル基本操作
6.RangeとCellsの使い方|VBA入門
7.メッセージボックス(MsgBox関数)|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.FILTER関数(範囲をフィルター処理)|エクセル入門
10.条件分岐(Select Case)|VBA入門




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


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



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