教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 印刷】セルのエラーを「-」(ダッシュ)に置き換えて印刷する方法を教えて!

f:id:m_kbou:20210526072928p:plain

セルのにエラー値を印刷させたくない場合に「-」に置き換えて印刷する方法となります。

 

 

構文

記述方法は以下の通りとなります。

Sheets("[シート名]").PageSetup.PrintErrors = xlPrintErrorsDash

[説明]:

印刷時にセルのエラー値を「-」(ダッシュ)に置き換えて印刷するには

 「Sheets("[シート名]").PageSetup.PrintErrors = xlPrintErrorsDash」

と記述します。

[シート名] エラー値を変換するシート名を記述します。
※「”」(ダブルクォーテーション)で囲みます。

上記はエラー値「-」(ダッシュ)を置き換える方法を説明しましたが、その他のエラー値も変換可能です。その他の変換方法については、以下一覧を参考にして下さい。

内容 定数
エラー値を置き換えずに印刷する xlPrintErrorsDisplayed 0
エラー値を空白に置き換えて印刷する xlPrintErrorsBlank 1
エラー値を「-」に置き換えて印刷する xlPrintErrorsDash 2
エラー値を「#N/A」に置き換えて印刷する xlPrintErrorsNA 3

[記述例]:

Sheets("Sheet1").PageSetup.PrintErrors = xlPrintErrorsDash
Sheets("Sheet1").PageSetup.PrintErrors = xlPrintErrorsDisplayed

 

使い方

使い方について具体的に説明します。

[プログラミング例]:

Sub 印刷()
  Sheets("Sheet1").PageSetup.PrintErrors = xlPrintErrorsDash
  Sheets("Sheet1").PrintPreview
  Sheets("Sheet1").PageSetup.PrintErrors = xlPrintErrorsDisplayed
End Sub

内容は、「Sheet1シートのセルにエラー値がある場合、「-」に置き換えてから印刷プレビューで表示して下さい。また、印刷プレビュー後には元に戻して下さい。」との意味になります。

f:id:m_kbou:20210526073000p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①Sheet1シートのA1セル~G8セルにデータが入力されており、所々セルのエラーがあります。この状態で<印刷>ボタンをクリックします。<印刷>ボタンには上記のプログラミング例のプログラムが登録されています。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210526073015p:plain

②結果は以下の様になり、セルのエラー値が「-」に置き換わり印刷プレビューされる事が確認できます。

f:id:m_kbou:20210526073027p:plain

セルのエラーを「-」で印刷する方法についての説明は以上です。

 

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

 

おわりに

今回はセルのエラーを「-」(ダッシュ)に置き換えて印刷する方法について説明しました。是非活用してみて下さい。