Martin hỏi có cách nào để đặt phạm vi in ​​cho nhiều trang tính cùng một lúc không. Anh ấy có một sổ làm việc chứa một số trang tính có cấu trúc giống hệt nhau và anh ấy muốn các phạm vi in ​​tương ứng của chúng giống hệt nhau.

Như Martin đã phát hiện ra, không có cách nào để thực hiện điều này trực tiếp trong Excel.

Khi bạn chọn nhiều trang tính, chọn khu vực bạn muốn đặt làm khu vực in, sau đó thử đặt khu vực in, bạn nhanh chóng phát hiện ra rằng tùy chọn thực hiện cài đặt bị chuyển sang màu xám, vì vậy bạn không thể chọn tùy chọn đó.

Tuy nhiên, có một số điều bạn có thể thử. Một là bắt đầu với một sổ làm việc mới và phát triển một trang tính có chứa vùng in như bạn muốn trên tất cả các trang tính. Sau đó, sao chép trang tính nhiều lần theo ý muốn trong sổ làm việc. Các trang tính được sao chép sẽ có vùng in được đặt như trong trang tính đầu tiên.

Tùy chọn khác là tạo một macro sẽ thực hiện cài đặt vùng in cho bạn. Hãy xem xét macro sau, sẽ đặt vùng in cho tất cả các trang tính đã chọn thành bất kỳ vùng in nào trên trang tính đang hoạt động. (Khi nhiều trang tính được chọn, trang tính đang hoạt động là trang hiển thị khi bạn chạy macro.)

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

Nếu bạn muốn đặt vùng in thành một số phạm vi mà bạn chỉ định, thay vì cần đặt vùng in trên trang tính đang hoạt động trước, thì bạn có thể thực hiện một thay đổi nhỏ đối với macro để nó sử dụng một phạm vi cho vùng in :

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

Để chọn một vùng in khác cho nhu cầu của bạn, hãy thay thế phạm vi được gán cho biến sPrintArea. Nếu bạn cho rằng bạn có thể sử dụng macro khá nhiều, trong một số sổ làm việc khác nhau hoặc nếu bạn thấy rằng bạn có thể cần phải thay đổi vùng in thường xuyên, bạn có thể thay đổi macro để nó nhắc người dùng về một phạm vi sử dụng:

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

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (3157) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: