Cómo cambiar el número de factura inicial en el bucle VBA

Cómo cambiar el número de factura inicial en el bucle VBA

Intentando implementar esta macro -Cambiar un número cada vez que imprimo.

Actualmente estoy intentando utilizar una macro para cambiar un número de factura cuando imprimo un 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á, pero quiero imprimir un lote de facturas a partir del número de factura 400. Cuando intento cambiar esta parte

For copynumber = 1 To CopiesCount

a

For copynumber = 400 To CopiesCount

no funciona. (Este cambio se sugirió en un comentario sobre la respuesta aceptada en la pregunta vinculada).

¿Cómo puedo cambiar el código para permitirme especificar el número de factura inicial?

Respuesta1

Pruebe este código modificado. Agregué dos nuevas variables ( starty limit) que hacen que este código se personalice más fácilmente para imprimir números de factura. Ahora hay un segundo mensaje de usuario para el número de factura inicial. limitse calcula a partir de las dos entradas del usuario.

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

información relacionada