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サンプル集」の記事

マクロ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 ・・・新着記事一覧を見る

TOROW関数(配列を横1行の配列にして返す)|エクセル入門(2022-10-31)
TOCOL関数(配列を縦1列の配列にして返す)|エクセル入門(2022-10-31)
CHOOSECOLS関数(配列から複数の指定された列を返す)|エクセル入門(2022-10-29)
CHOOSEROWS関数(配列から複数の指定された行を返す)|エクセル入門(2022-10-29)
WorksheetFunctionの効率的な使い方とスピル新関数の利用|VBA入門(2022-10-27)
VSTACK関数(配列を縦方向に順に追加・結合)|エクセル入門(2022-10-25)
HSTACK関数(配列を横方向に順に追加・結合)|エクセル入門(2022-10-25)
LAMBDA以降の新関数の問題と解説(配列操作関数編)|エクセル入門(2022-10-24)
LAMBDA以降の新関数の問題と解説(ヘルパー関数編)|エクセル入門(2022-10-24)
LAMBDA以降の新関数の問題集|エクセル入門(2022-10-24)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.Excelショートカットキー一覧|Excelリファレンス
7.並べ替え(Sort)|VBA入門
8.マクロって何?VBAって何?|VBA入門
9.エクセルVBAでのシート指定方法|VBA技術解説
10.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄




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


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



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