by Allen Wyatt
(last updated May 9, 2020)
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.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (12135) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and Excel in Office 365.
Solve Real Business Problems Master business modeling and analysis techniques with Excel and transform data into bottom-line results. This hands-on, scenario-focused guide shows you how to use the latest Excel tools to integrate data from multiple tables. Check out Microsoft Excel 2013 Data Analysis and Business Modeling today!
It is not uncommon to use Excel to print out regular reports. If your report needs to span multiple worksheets, here's ...Discover More
You can modify Excel's BeforePrint event handler to change how the printing process occurs. Unfortunately, though, Excel ...Discover More
When you print a worksheet, you don't need to print the whole thing. You can print only the pages you want. Here's how to ...Discover More
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
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.