Written by Allen Wyatt (last updated September 18, 2021)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365
Madhabi wants to print four copies of a worksheet, but have the value of cell A7 change for each copy. The four values are "Original," "Duplicate," "File," and "Driver." All other data being the same, Madhabi wonders how he can change the text of cell A7 while printing.
One possible approach is to create four different worksheets that contain essentially the same information. Worksheets 2 through 4 could all reference cells on worksheet 1, with the exception of cell A7 which could be set on each worksheet to a different value ("Original," "Duplicate," etc.).
A better approach, however, would be to create a quick macro that you could use for your printing. The macro could handle changing the value of cell A7 just before the worksheet is printed each time. Here's a simple example:
Sub PrintCopies() Dim i As Integer Dim VList As Variant VList = Array("Original", "Duplicate", "File", "Driver") For i = LBound(VList) To UBound(VList) Range("A7") = VList(i) ActiveSheet.PrintOut Next End Sub
The macro places the four values destined for cell A7 into an array. The macro then steps through each of the four array elements, putting the value into cell A7, and then printing the worksheet. Printing is done to whatever the default printer is on the system.
The macro could easily be assigned to a shortcut key or to the Quick Access Toolbar (as described in other ExcelTips) so that it you could print all four copies quickly.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (9962) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!
Excel allows you to repeat rows at the top of every page of a printout. If you want to repeat rows at the bottom of every ...
Discover MoreIf you have multiple printers accessible to your computer, you may need a way to quickly print your worksheet on a ...
Discover MoreIf you need to modify where a worksheet is printed (meaning, which paper tray it should use), Excel doesn't provide a lot ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2021-10-27 10:25:01
J. Woolley
@Andrew
Put the number of copies in cell A7, then run this:
Sub PrintCopies()
ActiveSheet.PrintOut Copies:=[A7]
End Sub
Also, see https://sites.google.com/view/MyExcelToolbox/
2021-10-26 13:32:56
Andrew
This is great! How would you go about printing out as many sheets as the number in a cell. Lets say the number in the cell was 3. The macro would then print out 3 copies of the sheet.
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 © 2024 Sharon Parq Associates, Inc.
Comments