Màu nền của Đầu trang và Chân trang (Microsoft Excel)
Leonid hỏi có cách nào để đặt màu nền cho đầu trang hoặc chân trang của một trang không. Câu trả lời đơn giản là không có khả năng như vậy trong Excel. Tuy nhiên, có một số cách giải quyết vấn đề này. Ví dụ: nếu bạn đang sử dụng Excel 2002 hoặc Excel 2003, bạn có thể thêm đồ họa vào đầu trang hoặc chân trang. Với đồ họa phù hợp, bạn có thể làm cho đầu trang và chân trang có màu khi trên thực tế, đó là đồ họa chứa màu.
Một tùy chọn khác là tạo đầu trang và chân trang “giả”. Nếu tất cả những gì bạn muốn làm là có một tiêu đề màu khác, thì bạn có thể sử dụng một vài hàng đầu tiên của trang tính làm tiêu đề của mình. Những hàng này bạn có thể định dạng theo ý muốn, bao gồm cả việc thiết lập màu của các hàng. Sau đó, bạn có thể hướng dẫn Excel lặp lại các hàng đó ở đầu mỗi trang của bản in (chúng tôi là hộp thoại Thiết lập Trang cho việc này).
Việc lặp lại các hàng cho vùng chân trang trở nên khó khăn hơn, vì Excel không bao gồm tính năng cho phép bạn lặp lại các hàng ở cuối mỗi trang. Có thể tạo macro để thêm hàng cho đầu trang và chân trang, nhưng nó dẫn đến thay đổi trang tính của bạn — các hàng cần phải được thêm cho đầu trang và chân trang giả.
Để làm ví dụ, hãy xem xét macro sau. Nó giả định rằng bạn muốn có đường viền một inch ở bên trái và bên phải của bản in và bạn chỉ muốn in 46 hàng trên mỗi trang. Nó đặt lề và sau đó bước qua trang tính, thêm các hàng đầu trang và chân trang giả, nếu cần. (Vì macro điều chỉnh thiết kế của trang tính, hãy đảm bảo bạn lưu trang tính của mình trước khi chạy macro.)
Sub FakeHeaderFooter() Dim LHeader As String Dim CHeader As String Dim LFooter As String Dim CFooter As String Dim CBottom As Integer Dim CRow As Integer Dim PageSize As Integer LHeader = "Top Left" CHeader = "Top Center" LFooter = "Bottom Left" CFooter = "Bottom Center" PageSize = 46 With ActiveSheet.PageSetup .PrintTitleRows = "" .PrintTitleColumns = "" .PrintArea = "" .LeftHeader = "" .CenterHeader = "" .RightHeader = "" .LeftFooter = "" .CenterFooter = "" .RightFooter = "" .LeftMargin = Application.InchesToPoints(1) .RightMargin = Application.InchesToPoints(1) .TopMargin = Application.InchesToPoints(0) .BottomMargin = Application.InchesToPoints(0) .HeaderMargin = Application.InchesToPoints(0) .FooterMargin = Application.InchesToPoints(0) .PrintHeadings = False .Orientation = xlPortrait End With CBottom = Range("A16000").End(xlUp).Row CRow = 1 Do Until CRow > CBottom If CRow Mod PageSize = 1 Then Rows(CRow).Select Selection.Insert Shift:=xlDown Selection.Insert Shift:=xlDown CBottom = CBottom + 2 Cells(CRow, 1).Value = LHeader Cells(CRow, 4).Value = CHeader Range(Cells(CRow, 1), _ Cells(CRow, 8)).Interior.ColorIndex = 34 Range(Cells(CRow + 1, 1), _ Cells(CRow + 1, 8)).Interior.ColorIndex = xlNone CRow = CRow + 2 ElseIf CRow Mod PageSize = PageSize - 1 Then Rows(CRow).Select Selection.Insert Shift:=xlDown Selection.Insert Shift:=xlDown CBottom = CBottom + 2 Cells(CRow + 1, 1).Value = LFooter Cells(CRow + 1, 4).Value = CFooter Range(Cells(CRow + 1, 1), _ Cells(CRow + 1, 8)).Interior.ColorIndex = 34 CRow = CRow + 2 Else CRow = CRow + 1 End If Loop LastPageNumber = PageNumber + 1 LastRow = LastPageNumber * PageSize If CBottom <> LastRow Then Range(Cells(LastRow, 1), _ Cells(LastRow, 8)).Interior.ColorIndex = 34 Cells(LastRow, 1).Value = LFooter Cells(LastRow, 4).Value = CFooter End If CBottom = Range("A16000").End(xlUp).Row CRow = 2 Do Until CRow > CBottom If CRow Mod PageSize = 1 Then Cells(CRow, 1).PageBreak = xlManual End If CRow = CRow + 1 Loop End Sub
Để thay đổi số dòng trên mỗi trang, chỉ cần thay đổi giá trị được gán cho biến PageSize. Bạn cũng có thể thay đổi những gì xuất hiện trong khu vực “đầu trang” và “chân trang” bằng cách thay đổi những gì được gán cho các biến LHeader, CHeader, LFooter và CFooter.
_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 (3056) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.