- ベストアンサー
印刷時の行の色付け
A1:E10の表があり、sub 印刷() のマクロで印刷します。E列(E1~E10)の間には整数で1,2,3と三か所に数字が有ります。印刷時に此の数字のあるセルを認識しこの行に色(うす水色)を付けて印刷し、マクロ終了時には最初の色のない表にしたいのですがどのように記述したらよいのでしょうか。よろしくおねがいします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
間違いました、すみません。 以下ではどうでしょうか? Sub 印刷() Sheets("Sheet1").Range("A1").Select '1行目ならどこでもいいのだけど With Sheets("Sheet1").Range("A1:E10") .FormatConditions.Delete '既に設定されている条件付き書式をクリア .FormatConditions.Add Type:=xlExpression, Formula1:="=$E1>0" ' .FormatConditions(1).Interior.ColorIndex = 34 '背景色を設定 '.PrintOut .FormatConditions.Delete '条件付き書式をクリア End With End Sub
その他の回答 (1)
- fumufumu_2006
- ベストアンサー率66% (163/245)
こんなのでしょうか? Sheet1の場合です。 Sub 印刷() With Sheets("Sheet1").Range("A1:E10") .FormatConditions.Delete '既に設定されている条件付き書式をクリア .FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="0" 'E列のセルの値が0より大きければ .FormatConditions(1).Interior.ColorIndex = 34 '背景色を設定 .FormatConditions.Add Type:=xlExpression, Formula1:="=$E1>0" ' .PrintOut 'シートを印刷 .FormatConditions.Delete '条件付き書式をクリア End With End Sub p.s. 空白でないセルの背景を設定する場合は下に変更してください。 .FormatConditions.Add Type:=xlExpression, Formula1:="=$E1>0" '
補足
ありがとうございます。実行しましたら A1:E10 内のセルにデータが有るセル全てに色が付きます。例えば E3 に 1, E5 に 2, E8 に 3 と有ったとすれば 行、A3~E3, A5~E5, A8~E8 と 行全体に色が付くように出来る方法を再度お教え願います。よろしくお願いします。
お礼
本当にありがとうございました。大変助かりました。