مارتین پرسید آیا راهی برای تنظیم محدوده چاپ برای چندین کاربرگ به طور همزمان وجود دارد؟ او یک کتاب کار حاوی تعدادی کاربرگ با ساختاری کاملاً یکسان دارد و میخواهد محدوده چاپ مربوطه آنها دقیقاً یکسان باشد.
همانطور که مارتین کشف کرده است، هیچ راهی برای انجام مستقیم این کار در اکسل وجود ندارد. وقتی چندین کاربرگ را انتخاب میکنید، ناحیهای را که میخواهید بهعنوان ناحیه چاپ تنظیم کنید، انتخاب کنید، و سپس سعی کنید ناحیه چاپ را تنظیم کنید، به سرعت متوجه میشوید که گزینه انجام تنظیمات خاکستری شده است، بنابراین نمیتوانید آن گزینه را انتخاب کنید.
با این حال چندین چیز وجود دارد که می توانید امتحان کنید. یکی این است که با یک کتاب کار جدید شروع کنید و یک کاربرگ واحد ایجاد کنید که شامل قسمت چاپ همانطور که می خواهید در همه کاربرگ ها باشد. سپس، کاربرگ را به تعداد دفعات مورد نظر در کتاب کار کپی کنید. برگه های کپی شده دارای ناحیه چاپی هستند که در کاربرگ اول تنظیم شده است.
گزینه دیگر ایجاد یک ماکرو است که تنظیمات ناحیه چاپ را برای شما انجام می دهد. ماکرو زیر را در نظر بگیرید، که منطقه چاپ را برای همه کاربرگ های انتخاب شده به هر ناحیه چاپ در کاربرگ فعال تنظیم می کند. (زمانی که بیش از یک کاربرگ انتخاب شده است، کاربرگ فعال همان کاربرگ است که هنگام اجرای ماکرو قابل مشاهده است.)
Sub SetPrintAreas1()
Dim sPrintArea As String
Dim wks As Worksheet
sPrintArea = ActiveSheet.PageSetup.PrintArea
For Each wks In ActiveWindow.SelectedSheets
wks.PageSetup.PrintArea = sPrintArea
Next
Set wks = Nothing
End Sub
اگر ترجیح میدهید ناحیه چاپ را روی محدودهای که شما مشخص کردهاید تنظیم کنید، نه اینکه ابتدا باید ناحیه چاپ را روی صفحه کاری فعال تنظیم کنید، میتوانید یک تغییر کوچک در ماکرو ایجاد کنید تا از یک محدوده برای ناحیه چاپ استفاده کند. :
Sub SetPrintAreas2()
Dim sPrintArea As String
Dim wks As Worksheet
sPrintArea = "A7:E22"
For Each wks In ActiveWindow.SelectedSheets
wks.PageSetup.PrintArea = sPrintArea
Next
Set wks = Nothing
End Sub
برای انتخاب ناحیه چاپ متفاوت برای نیازهای خود، محدوده ای را که به متغیر sPrintArea اختصاص داده شده است، جایگزین کنید. اگر تصور میکنید که ممکن است از ماکرو کمی استفاده کنید، در تعدادی از کتابهای کار مختلف، یا اگر فکر میکنید که ممکن است لازم باشد ناحیه چاپ را به طور منظم تغییر دهید، میتوانید ماکرو را طوری تغییر دهید که از کاربر بخواهد محدودهای را برای استفاده کنید:
Sub SetPrintAreas3()
Dim sPrintArea As String
Dim wks As Worksheet
sPrintArea = InputBox("Enter print area range")
For Each wks In ActiveWindow.SelectedSheets
wks.PageSetup.PrintArea = sPrintArea
Next
Set wks = Nothing
End Sub