VBAでシートに表示された内容を連続で印刷しようとしています。
P列に入っている文字が5でなければ値のセルを005にして、そうでなければ空白にするというものですが
この方法で印刷を行うとP列の行数分『印刷中』のダイアログが出てきてしまいます。
どのようにすれば1度の印刷処理で済むようにできますでしょうか。
よろしくお願いします。
Sub print() Dim i As Integer Dim xlSh Set xlSh = Worksheets(1) For i = 3 To xlSh.Range("P3").End(xlDown).Row If Cells(i, "P").Value <> 5 Then Range("値").Value = "005" Else Range("値").Value = "" End If ActiveSheet.PrintPreview 'ActiveSheet.PrintOut Next End Sub
もう少しデータはあるのですが簡潔にしています。
N | O | P |
---|---|---|
5 | ||
5 | ||
5 | ||
5 | ||
5 | ||
5 |
P列の文字が5の場合、セル名を『値』とした場所に005と表示をさせて、そのシートを1ページにしています。
ループの回数分PrintOut等を実行すると1ページずつの印刷になってしまうので、改ページ?があるような状態にできれば良いと思うのですが、方法が分からず質問させていただきました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/05/22 08:50
退会済みユーザー
2021/05/22 10:53