ساندرا یک کاربرگ اکسل دارد که از آن به عنوان برنامه ریز روزانه استفاده می کند. او می خواهد یک تاریخ شروع را برای برنامه ریز مشخص کند و سپس هفت نسخه از کاربرگ را چاپ کند، یکی برای هر روز از هفته که از آن تاریخ شروع می شود. آرزوی او این است که برای هر پرینت تاریخ درستی در پاورقی داشته باشد، بنابراین او نمی پرسد آیا راهی برای چاپ خودکار یک هفته کامل از برنامه ریز روزانه اش وجود دارد؟
یکی از راه هایی که می توانید این کار را انجام دهید این است که هفت کاربرگ را در ورک بوک خود قرار دهید و هر کدام از آنها دقیقاً یکسان باشند. سپس می توانید تاریخ را در آخرین ردیف کاربرگ (آخرین ردیفی که در صفحه چاپ می شود) قرار دهید و آن سطر حاوی تاریخ مورد نظر باشد. هر کاربرگ می تواند تاریخ آن سطر آخر را بر اساس تاریخ کاربرگ قبلی قرار دهد، بنابراین تنها کاری که باید انجام دهید این است که تاریخ کاربرگ اول را تغییر دهید و تاریخ های کاربرگ های بعدی به طور خودکار به روزرسانی می شوند.
اگر کاملاً تاریخ را در پاورقی می خواهید، تنها راه برای خودکار کردن چاپ استفاده از ماکرو است. ایده این است که هفت نسخه از برگه را با ماکرو چاپ کنید، اما قبل از چاپ هر کدام، پاورقی را به تاریخ مورد نظر به روز کنید.
Sub PrintPlanner()
Dim dBegDate As Date
Dim J As Integer
Dim sFmt As String
Format to be used for footer date
sFmt = "mm/dd/yy (dddd)"
If IsDate(Range("$A$1")) Then
dBegDate = Range("$A$1").Value
For J = 0 To 6
With ActiveSheet
.PageSetup.CenterFooter = Format(dBegDate + J, sFmt)
.Printout
End With
Next J
Else
MsgBox "Invalid beginning date specified"
EndIf
End Sub
وقتی این ماکرو را اجرا می کنید، هفت نسخه از کاربرگ فعال را با تاریخ متفاوت در هر پاورقی چاپ می کند. توجه داشته باشید که ماکرو به تاریخ در سلول A1 نگاه می کند و از آن به عنوان تاریخ شروع برای فوترها استفاده می کند. تاریخ در قسمت مرکزی پاورقی قرار می گیرد، اگرچه می توانید در صورت تمایل، .CenterFooter را به .LeftFooter یا RightFooter تغییر دهید. همچنین می توانید تابع Format را تغییر دهید تا از قالب دیگری برای تاریخ استفاده کنید.
اگر تصمیم دارید که تاریخ شروع را در سلولی متفاوت از A1 ذخیره کنید، توجه داشته باشید که دو مکان در ماکرو وجود دارد که باید مشخصات سلول را در آنها تغییر دهید.