اگر کاربرگ بزرگی دارید، ممکن است بخواهید آن را در "قطعات" چاپ کنید و به طور خودکار اطلاعات موجود در هدر یا پاورقی هر قسمت را تغییر دهید. هیچ راه ذاتی برای انجام این کار در اکسل وجود ندارد. بهترین رویکرد ماکرو برای انجام موارد زیر است:
- ناحیه چاپ را بر اساس محدوده نامگذاری شده تنظیم کنید.
- سرصفحه یا پاورقی را بر اساس محدوده نام دیگری تنظیم کنید.
- ناحیه چاپ را چاپ کنید.
- مراحل 1 تا 3 را برای هر ناحیه چاپ مورد نظر تکرار کنید.
توجه داشته باشید که این مراحل نیاز به استفاده از محدوده های نامگذاری شده دارند. می توانید برای هر قسمت از صفحه کاری که می خواهید چاپ کنید، یک محدوده نام گذاری شده داشته باشید، و یک محدوده نام گذاری شده (که یک سلول واحد است) که نشان دهنده اطلاعات سرصفحه یا پاورقی است که برای هر ناحیه چاپ می خواهید. ماکرو زیر مراحل بالا را اجرا می کند:
Sub PrintRegions()
Dim x As Integer
Change the dimension of the arrays to equal the number
of printing areas you have
Dim Region(4) As String
Dim Head(4) As String
Fill this array with the names of the ranges to be printed
Region(1) = "North"
Region(2) = "South"
Region(3) = "East"
Region(4) = "West"
Fill this array with the names of the ranges to be in the header
Head(1) = "NorthHead"
Head(2) = "SouthHead"
Head(3) = "EastHead"
Head(4) = "WestHead"
For x = 1 To UBound(Region)
ActiveSheet.PageSetup.PrintArea = Range(Region(x)).Address
ActiveSheet.PageSetup.LeftHeader = Range(Head(x))
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next
End Sub
این مثال تنها چهار ناحیه از یک کاربرگ را چاپ می کند. این مناطق را محدوده های شمالی، جنوبی، شرقی و غربی می نامند. به طور مشابه، محدوده های نام گذاری شده - که واقعاً سلول های تکی هستند - برای قسمت چپ سرصفحه ها استفاده می شوند NorthHead، SouthHead، EastHead و WestHead.