Код распечатки VBA пропускает распечатки бумаги, когда я повторяю список - PullRequest
0 голосов
/ 12 апреля 2019

Я делаю цикл while, который распечатывает лист комплектования. Но у меня возникают проблемы, когда я просматриваю пачки бумаг, некоторые листы отсутствуют. Примерно для 40 листов бумаги 2 листа будут отсутствовать.

Я попытался добавить таймер ожидания, чтобы он ожидал 4 секунды между каждым отпечатком. Это на самом деле решило проблему, но у меня уходит 35 минут на печать через цикл. Я даже пытался выключить таймер до 2-3 секунд, но результаты были отрицательными.

With Sheets("Utskrift").Range("D3")
' '   If .Value = "" Then
       .Value = Sheets("Butiker").Range("D3").Value
       If Sheets("Utskrift").Range("L2") >= 1 And Sheets("Utskrift").Range("L2") <= 68 Or Sheets("Utskrift").Range("L3") >= 1 And Sheets("Utskrift").Range("L3") <= 16 Then
               ActiveSheet.PrintOut From:=1, To:=1
               Application.Wait Now + #12:00:04 AM#

            ElseIf Sheets("Utskrift").Range("L2") > 68 Then
               ActiveSheet.PrintOut From:=1, To:=2
               Application.Wait Now + #12:00:04 AM#

            Else:


            End If

  Do While Sheets("Utskrift").Range("D3") > ""
        v = Application.Match(.Value, Sheets("Butiker").Range("D3:D9"), 0)
        If IsNumeric(v) Then
            .Value = Sheets("Butiker").Range("D3:D9").Cells(v + 1, 1).Value
            If Sheets("Utskrift").Range("L2") >= 1 And Sheets("Utskrift").Range("L2") <= 68 Or Sheets("Utskrift").Range("L3") >= 1 And Sheets("Utskrift").Range("L3") <= 16 Then
               ActiveSheet.PrintOut From:=1, To:=1
               Application.Wait Now + #12:00:04 AM#

            ElseIf Sheets("Utskrift").Range("L2") > 68 Then
               ActiveSheet.PrintOut From:=1, To:=2
               Application.Wait Now + #12:00:04 AM#

            Else:


            End If
        Else
            .Value = ""
        End If
    Loop
End With

Есть ли другой способ, которым я могу сделать это, чтобы гарантировать, что каждый лист бумаги напечатан, и мне не нужно ждать 4 секунды? Или, может быть, есть способ проверить, какие бумаги не были напечатаны, и тогда я мог бы просто перепечатать их потом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...