Suponga que tiene una hoja de trabajo grande que requiere 16 páginas cuando se imprime. Quizás se pregunte si hay alguna manera, cuando trabaje dentro de la hoja de trabajo, para saltar a alguna página determinada, como la página 5.

Los usuarios de Word saben que pueden, dentro de Word, usar el cuadro de diálogo Ir a para saltar a varias páginas, pero no existe tal característica en Excel. Sin embargo, hay un par de formas de abordar el problema.

Un método consiste en seleccionar la celda que aparece en la parte superior de una página.

(Por ejemplo, esa celda que aparece en la parte superior izquierda de la página 5.) Luego puede definir un nombre para la celda, como Página05. Haga esto para cada página de su hoja de trabajo, y luego podrá usar las funciones dentro de Excel para saltar a esos nombres.

Otra forma de hacer esto es usar el modo de vista previa de salto de página. (Para cambiar a la vista previa de saltos de página, elija Ver | Vista previa de saltos de página). A continuación, puede ver dónde están los saltos de página, seleccionar una celda de la página que desee y volver a la vista normal.

También es posible crear una macro que le permita saltar a una página específica, pero no es tan fácil como podría pensar. La razón tiene que ver con el posible uso de saltos de página duros, que pueden cambiar dónde comienzan y terminan las páginas. Sin embargo, la siguiente macro podría ayudarte. Pide al usuario un número de página y luego selecciona la celda superior izquierda en la página ingresada.

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

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (5823) se aplica a Microsoft Excel 97, 2000, 2002 y 2003.