Я использовал этот сценарий Excel VBA в сочетании с моим листом для печати этикеток, но вдруг он перестал работать. Я думаю, что это связано с новым обновлением. Он используется для циклического просмотра моих данных и печати нескольких этикеток, но теперь он печатает только одну и останавливается, не переходя к следующей строке.
Может кто-нибудь взглянуть на код и посмотреть, есть ли что-то, чтоможет прерывать процесс?
Я получаю сообщение о несоответствии типов "13" в этой строке:
StartRow = Worksheets("Backside").Range("T4").Value
Это остальная часть кода:
Sub PrintOneShelf()
Dim NrPositions As Integer
Dim StartRow As Integer
Application.Calculate
NrPositions = Worksheets("Backside").Range("T3").Value
StartRow = Worksheets("Backside").Range("T4").Value
PrintRow = Worksheets("Backside").Range("T5").Value
Worksheets("Backside").PrintOut From:=1, To:=NrPositions, Copies:=1
NrPositions = Worksheets("Frontside").Range("T3").Value
StartRow = Worksheets("Frontside").Range("T4").Value
Worksheets("Frontside").PrintOut From:=1, To:=NrPositions, Copies:=1
Worksheets("Print Overview").Cells(PrintRow, 2).Value = "x"
End Sub
Sub PrintBackShelf()
Dim NrPositions As Integer
Dim StartRow As Integer
Application.Calculate
NrPositions = Worksheets("Backside").Range("T3").Value
StartRow = Worksheets("Backside").Range("T4").Value
PrintRow = Worksheets("Backside").Range("T5").Value
Worksheets("Backside").PrintOut From:=1, To:=NrPositions, Copies:=1
Worksheets("Print Overview").Cells(PrintRow, 2).Value = "x"
End Sub
Sub PrintFrontShelf()
Dim NrPositions As Integer
Dim StartRow As Integer
Application.Calculate
NrPositions = Worksheets("Frontside").Range("T3").Value
StartRow = Worksheets("Frontside").Range("T4").Value
PrintRow = Worksheets("Frontside").Range("T5").Value
Worksheets("Frontside").PrintOut From:=1, To:=NrPositions, Copies:=1
Worksheets("Print Overview").Cells(PrintRow, 3).Value = "x"
End Sub
Sub PrintBackShelves()
Dim StartRow
Application.Calculate
PrintRow = Worksheets("Backside").Range("T5").Value
Do While IsNumeric(PrintRow)
Call PrintBackShelf
Application.Calculate
PrintRow = Worksheets("Backside").Range("T5").Value
Loop
End Sub
Sub PrintFrontShelves()
Dim StartRow
Application.Calculate
PrintRow = Worksheets("Frontside").Range("T5").Value
Do While IsNumeric(PrintRow)
Call PrintFrontShelf
Application.Calculate
PrintRow = Worksheets("Frontside").Range("T5").Value
Loop
End Sub
Sub PrintShelves()
Dim StartRow
Application.Calculate
PrintRow = Worksheets("Backside").Range("T5").Value
Worksheets("Print Overview").Range("B5").End(xlDown).Value = ""
Do While IsNumeric(PrintRow)
Call PrintBackShelf
Application.Calculate
PrintRow = Worksheets("Backside").Range("T5").Value
Loop
Application.Calculate
Worksheets("Print Overview").Range("B5").End(xlDown).Value = ""
PrintRow = Worksheets("Backside").Range("T5").Value
Do While IsNumeric(PrintRow)
Call PrintFrontShelf
Application.Calculate
PrintRow = Worksheets("Backside").Range("T5").Value
Loop
End Sub