هنری دوست دارد سلولی حاوی عددی باشد که هر بار که یک کپی از برگه چاپ می شود افزایش می یابد. بنابراین، اگر سلول حاوی عدد 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 تعداد کپی های واقعی چاپ شده را نشان نمی دهد.