假设您有一个很大的工作表,打印时需要16页。您可能想知道在工作表中工作时是否有一种方法可以跳转到某些给定的页面,例如第5页。

Word用户知道他们可以在Word中使用“转到”对话框跳到各个页面,但是Excel中没有这样的功能。但是,有两种方法可以解决该问题。

一种方法是选择出现在页面顶部的单元格。

(例如,该单元格出现在第5页的左上角。)然后,您可以定义该单元格的名称,例如Page05。对工作表中的每个页面执行此操作,然后可以使用Excel中的功能跳转到这些名称。

您可以执行此操作的另一种方法是使用分页符预览模式。 (要切换到分页预览,请选择“视图” |“分页预览”。)然后,您可以查看分页符的位置,在所需的页面上选择一个单元格,然后返回到普通视图。

也可以创建一个宏,以使您跳到特定页面,但这并不像您想象的那么容易。原因与可能使用硬分页符有关,硬分页符可以更改页面的开始和结束位置。但是,以下宏可能会帮助您解决问题。它提示用户输入页码,然后在输入的页面上选择左上角的单元格。

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

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

链接:/ excelribbon-ExcelTipsMacros [点击此处在新的浏览器标签中打开该特殊页面]。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(5823)适用于Microsoft Excel 97、2000、2002和2003。