Я делаю цикл 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 секунды? Или, может быть, есть способ проверить, какие бумаги не были напечатаны, и тогда я мог бы просто перепечатать их потом.