Ich habe einen Beleg im Format 1/4 Letter erstellt und ihn viermal in ein einzelnes Arbeitsblatt kopiert (um Papier zu sparen) und möchte, dass er fortlaufend von 001 bis 100 ausgedruckt wird. Jeder Beleg sollte eine eindeutige Seriennummer haben: 001,002...100.
Wie kann ich fortlaufende Zahlen in 4 verschiedene Zellen eingeben, beispielsweise sind A1, C1, E1 und G1 meine Zellen mit den Nummern 001, 002, 003, 004, und jede Zahl nach jedem Ausdruck erhöhen?
Außerdem brauche ich die Möglichkeit, die Startnummer anzugeben.
Ich habe das hier im Internet gefunden, vielleicht ist das ein Anfang:
Sub IncrementPrint()
Dim xCount As Variant
Dim xScreen As Boolean
Dim I As Long
On Error Resume Next
LInput:
xCount = Application.InputBox("Please enter the number of copies you want to print:", "Title")
If TypeName(xCount) = "Boolean" Then Exit Sub
If (xCount = "") Or (Not IsNumeric(xCount)) Or (xCount < 1) Then
MsgBox "error entered, please enter again", vbInformation, "Title"
GoTo LInput
Else
xScreen = Application.ScreenUpdating
Application.ScreenUpdating = False
For I = 1 To xCount
ActiveSheet.Range("A1").Value = " Company-00" & I
ActiveSheet.PrintOut
Next
ActiveSheet.Range("A1").ClearContents
Application.ScreenUpdating = xScreen
End If
End Sub
Antwort1
Benutze das
Option Explicit
Public Sub IncrementPrint()
Dim resp As Variant, scr As Boolean, i As Long, j As Long
On Error Resume Next
resp = Application.InputBox(Prompt:="Please enter the number of copies to print:", _
Title:="Select Total Print Copies", Type:=1)
On Error GoTo 0
If resp = False Then Exit Sub
If resp < 1 Or resp > 100 Then
MsgBox "Invalid number: " & resp & " (Enter 1 to 100)", vbExclamation, "Try Again"
Exit Sub
End If
scr = Application.ScreenUpdating
Application.ScreenUpdating = False
j = 0
For i = 1 To resp
ActiveSheet.Range("A1").Value2 = " Company-00" & i + 0 + j
ActiveSheet.Range("C1").Value2 = " Company-00" & i + 1 + j
ActiveSheet.Range("E1").Value2 = " Company-00" & i + 2 + j
ActiveSheet.Range("G1").Value2 = " Company-00" & i + 3 + j
ActiveSheet.PrintOut
j = j + 3
Next i
ActiveSheet.Range("A1,C1,E1,G1").ClearContents
Application.ScreenUpdating = scr
End Sub