[[20230216150830]] 『連続印刷で一番最初の印刷が2部印刷されてしまう』(VBA勉強中) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『連続印刷で一番最初の印刷が2部印刷されてしまう』(VBA勉強中)

 以下のようなコードにて連続印刷を行おうとしたところ、
 一番最初の印刷が印刷されてしまいます。
 例:伊藤さん 高橋さん 佐藤さん の順番で連続印刷しようとすると
   伊藤さん 伊藤さん 高橋さん と印刷されてしまいます。

    Range("M4") = 1

    If Application.Dialogs(xlDialogPrint).Show = True Then
        Do Until Range("M4").Value = Range("M5").Value
            Worksheets("印刷画面").PrintOut
            Range("M4") = Range("M4") + 1
        Loop
    End If

 どのようにすれば正常に印刷されるか、ご教示いただけますでしょうか。

< 使用 Excel:Excel2016、使用 OS:Windows11 >


 Application.Dialogs(xlDialogPrint).Show = True

 ↑この時点で最初の1回目の印刷は実行されています。

 コードの全体がわからないので回答内容も漠然としてしまいますが、
 Doループ内ではその次の設定に変えてから処理を実行しましょう。
(ふなば) 2023/02/16(木) 15:39:46

既に回答がありますが、こちらがやりたかったことだったりしませんか?
    Sub テキトー()
        Dim i As Long
        Application.Dialogs(xlDialogPrinterSetup).Show '★ココ

        For i = 1 To ActiveSheet.Range("M5").Value - 1 Step 1
            ActiveSheet.Range("M4").Value = i
            Worksheets("印刷画面").PrintPreview 'コード検証用
            'Worksheets("印刷画面").PrintOut
        Next i
    End Sub

(もこな2) 2023/02/16(木) 21:33:38


 返信が遅くなり申し訳ありません。
 教えていただいた通りにやったところイメージ通りに印刷できました!

 ありがとうございます。!
(VBA勉強中) 2023/02/18(土) 17:55:15

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.