
Der Versuch, dieses Makro zu implementieren -Bei jedem Drucken eine Nummer ändern.
Ich versuche derzeit, beim Stapeldrucken ein Makro zum Ändern einer Rechnungsnummer zu verwenden.
***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***
Es funktioniert so wie es ist, aber ich möchte einen Stapel Rechnungen drucken, beginnend mit der Rechnungsnummer 400. Wenn ich versuche, diesen Teil zu ändern
For copynumber = 1 To CopiesCount
Zu
For copynumber = 400 To CopiesCount
es funktioniert nicht. (Diese Änderung wurde in einem Kommentar zur akzeptierten Antwort in der verlinkten Frage vorgeschlagen.)
Wie kann ich den Code ändern, um die erste Rechnungsnummer angeben zu können?
Antwort1
Probieren Sie diesen geänderten Code aus. Ich habe zwei neue Variablen ( start
und limit
) hinzugefügt, mit denen dieser Code leichter zum Drucken von Rechnungsnummern angepasst werden kann. Es gibt jetzt eine zweite Benutzerabfrage für die erste Rechnungsnummer. limit
wird aus den beiden Benutzereingaben berechnet.
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