Written by Allen Wyatt (last updated November 21, 2023)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and 2021
Henry would like a cell to contain a number that increments every time a copy of the worksheet is printed. Thus, if the cell contains the number 9 and he prints 13 copies of the worksheet, each copy would contain, in that cell, the numbers 9, 10, 11, and on through 21.
This, as you might guess, is best done with a macro. All that needs to be done is to print the worksheet however many times is desired, incrementing the value of the cell after each print. In this case, I'm going to assume that the cell to be incremented is B7. The following macro will handle the process:
Sub PrintNumberedCopies()
Dim iCopies As Integer
Dim J As Integer
Dim r As Range
' Specify the cell to modify
Set r = Range("B7")
' Get the number of copies.
iCopies = Val(InputBox("Number of copies to print:"))
If iCopies > 0 Then
' Loop iCopies times, printing once per loop
For J = 1 to iCopies
ActiveSheet.PrintOut
r.Value = r.Value + 1
Next J
End If
End Sub
Note that the macro asks the user how many copies to print, and then it goes about printing each one, individually. After each printout, it increments the value stored in cell B7. If the user enters something that does not translate to a number of copies, then nothing is printed.
Remember that if you want the value number in B7 to always be up to date, you'll need to save the workbook sometime after your last printing. In addition, if you print using some method other than this macro, then the value in B7 will not reflect the number of actual copies printed.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (12135) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and 2021.
Best-Selling VBA Tutorial for Beginners Take your Excel knowledge to the next level. With a little background in VBA programming, you can go well beyond basic spreadsheets and functions. Use macros to reduce errors, save time, and integrate with other Microsoft applications. Fully updated for the latest version of Office 365. Check out Microsoft 365 Excel VBA Programming For Dummies today!
If there are error values in a worksheet, you may not want those error values to appear on a printout. Excel actually ...
Discover MoreExcel displays row numbers on-screen that help you easily see what is in each row. If you want to print these row ...
Discover MoreNeed to print more than a single copy of a worksheet? You can do it easily by using the printing controls provided by Excel.
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2023-08-08 15:06:55
Marc
Thanks, Allan. Works great.
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments