Como alterar o número inicial da fatura no loop VBA

Como alterar o número inicial da fatura no loop VBA

Tentando implementar esta macro -Alterando um número cada vez que imprimo.

Atualmente, estou tentando usar uma macro para alterar o número da fatura ao imprimir um lote.

***Sub PrintCopies_ActiveSheet()
Dim CopiesCount As Long
Dim copynumber As Long

CopiesCount = Application.InputBox("How many copies do you want?", Type:=1)
'Now the program wants you to input how many pages you like to print.
'You can input 100 here.

For copynumber = 1 To CopiesCount
With ActiveSheet
   .Range("E1").Value = copynumber 'I assume your invoice number is in cell E1.
   .PrintOut 'Print the sheet

End With
Next copynumber
End Sub***

Funciona como está, mas quero imprimir um lote de faturas começando na fatura número 400. Quando tento alterar esta parte

For copynumber = 1 To CopiesCount

para

For copynumber = 400 To CopiesCount

isso não funciona. (Essa alteração foi sugerida em um comentário sobre a resposta aceita na pergunta vinculada.)

Como posso alterar o código para especificar o número inicial da fatura?

Responder1

Experimente este código alterado. Adicionei duas novas variáveis ​​( starte limit) que tornam esse código mais facilmente customizável para impressão de números de faturas. Agora há um segundo prompt do usuário para o número inicial da fatura. limité calculado a partir das duas entradas do usuário.

Sub PrintCopies_ActiveSheet()
Dim CopiesCount As Long
Dim copynumber As Long
Dim start as Variant, limit As Long

CopiesCount = Application.InputBox("How many copies do you want?", Type:=1)
'Now the program wants you to input how many pages you like to print.
'You can input 100 here.

'starting invoice number
start = Application.InputBox("Start sequence at what invoice number?", Type:=1)  

'This gives you the ability to cancel the macro by clicking Cancel.
If start = "False" Then
    Exit Sub
End If

limit = start + CopiesCount - 1   'last invoice number to print


For copynumber = start To limit
    With ActiveSheet
       .Range("E1").Value = copynumber 'I assume your invoice number is in cell E1.
       .PrintOut 'Print the sheet

    End With
Next copynumber
End Sub

informação relacionada