このマクロを実装しようとしています -印刷するたびに数字を変更する。
現在、バッチ印刷時に請求書番号を変更するマクロを使用しようとしています。
***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***
そのままでも動作しますが、請求書番号400から始まる請求書のバッチを印刷したいのです。この部分を変更しようとすると
For copynumber = 1 To CopiesCount
に
For copynumber = 400 To CopiesCount
動作しません。(この変更は、リンクされた質問の承認された回答に対するコメントで提案されました。)
開始請求書番号を指定できるようにコードを変更するにはどうすればよいですか?
答え1
この修正されたコードを試してください。請求書番号の印刷用にこのコードをより簡単にカスタマイズできるように、2 つの新しい変数 (start
とlimit
) を追加しました。これで、開始請求書番号を入力するための 2 番目のユーザー プロンプトが表示されます。は、limit
2 つのユーザー入力から計算されます。
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