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.