Henry希望单元格包含一个数字,该数字在每次打印工作表副本时都会递增。因此,如果该单元格包含数字9,并且他打印13张工作表,则每个副本将在该单元格中包含数字9、10、11,并一直到21。

您可能会猜到,最好用宏来完成。所有需要做的就是打印工作表,但是需要多次,在每次打印后增加单元格的值。在这种情况下,我将假设要增加的单元格为B7。以下宏将处理该过程:

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

请注意,该宏询问用户要打印多少份,然后开始分别打印每份。每次打印后,它将增加存储在单元格B7中的值。如果用户输入的内容不能翻译成多个副本,则不会打印任何内容。

请记住,如果希望B7中的值始终保持最新,则需要在上次打印后的某个时间保存工作簿。此外,如果使用该宏以外的方法进行打印,则B7中的值将不会反映实际打印的份数。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

链接:/ excelribbon-ExcelTipsMacros [点击此处在新的浏览器标签中打开该特殊页面]。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(12135)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。