Giả sử rằng bạn có một trang tính lớn yêu cầu 16 trang khi in ra. Bạn có thể tự hỏi liệu có cách nào, khi làm việc trong trang tính, có thể chuyển đến một số trang nhất định, chẳng hạn như trang 5.

Người dùng Word biết rằng họ có thể, trong Word, sử dụng hộp thoại Đi tới để chuyển đến các trang khác nhau, nhưng không có tính năng này trong Excel. Tuy nhiên, có một số cách bạn có thể tiếp cận vấn đề.

Một cách tiếp cận là chọn ô xuất hiện ở đầu trang.

(Ví dụ: ô đó xuất hiện ở trên cùng bên trái của trang 5.) Sau đó, bạn có thể xác định tên cho ô, chẳng hạn như Trang05. Thực hiện việc này cho từng trang trong trang tính của bạn và sau đó bạn có thể sử dụng các tính năng trong Excel để chuyển đến các tên đó.

Một cách khác bạn có thể làm là sử dụng chế độ xem trước ngắt trang. (Để chuyển sang xem trước ngắt trang, hãy chọn Xem | Xem trước ngắt trang.) Sau đó, bạn có thể xem vị trí của ngắt trang, chọn một ô trên trang bạn muốn, rồi quay lại chế độ xem bình thường.

Cũng có thể tạo macro cho phép bạn chuyển đến một trang cụ thể, nhưng nó không dễ dàng như bạn nghĩ. Lý do liên quan đến việc sử dụng ngắt trang cứng, có thể thay đổi nơi bắt đầu và kết thúc của trang. Tuy nhiên, macro sau đây có thể thực hiện thủ thuật cho bạn. Nó nhắc người dùng nhập số trang rồi chọn ô trên cùng bên trái trên trang đã nhập.

Sub GotoPageBreak()

Dim iPages As Integer     Dim wks As Worksheet     Dim iPage As Integer     Dim iVertPgs As Integer     Dim iHorPgs As Integer     Dim iHP As Integer     Dim iVP As Integer     Dim iCol As Integer     Dim lRow As Long     Dim sPrtArea As String     Dim sPrompt As String     Dim sTitle As String

Set wks = ActiveSheet     iPages = ExecuteExcel4Macro("Get.Document(50)")

iVertPgs = wks.VPageBreaks.Count + 1     iHorPgs = wks.HPageBreaks.Count + 1     sPrtArea = wks.PageSetup.PrintArea

sPrompt = "Enter a page number (1 through "

sPrompt = sPrompt & Trim(Str(iPages)) & ") "

sTitle = "Enter Page Number"



iPage = InputBox(Prompt:=sPrompt, Title:=sTitle)



If wks.PageSetup.Order = xlDownThenOver Then         iVP = Int((iPage - 1) / iHorPgs)

iHP = ((iPage - 1) Mod iHorPgs)

Else         iHP = Int((iPage - 1) / iVertPgs)

iVP = ((iPage - 1) Mod iVertPgs)

End If

If iVP = 0 Then         If sPrtArea = "" Then             iCol = 1         Else             iCol = wks.Range(sPrtArea).Cells(1).Column         End If     Else         iCol = wks.VPageBreaks(iVP).Location.Column     End If

If iHP = 0 Then         If sPrtArea = "" Then             lRow = 1         Else             lRow = wks.Range(sPrtArea).Cells(1).Row         End If     Else         lRow = wks.HPageBreaks(iHP).Location.Row     End If

wks.Cells(lRow, iCol).Select     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 (5823) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.