Saltare a una pagina specifica (Microsoft Excel)
Supponiamo di avere un foglio di lavoro di grandi dimensioni che richiede 16 pagine quando viene stampato. Potresti chiederti se c’è un modo, quando lavori all’interno del foglio di lavoro, per saltare a una determinata pagina, come la pagina 5.
Gli utenti di Word sanno che possono, in Word, utilizzare la finestra di dialogo Vai a per passare a varie pagine, ma in Excel non esiste alcuna funzionalità di questo tipo. Tuttavia, ci sono un paio di modi per affrontare il problema.
Un approccio consiste nel selezionare la cella che appare nella parte superiore di una pagina.
(Ad esempio, quella cella che appare in alto a sinistra della pagina 5.) È quindi possibile definire un nome per la cella, come Pagina05. Fallo per ogni pagina del foglio di lavoro e puoi quindi utilizzare le funzionalità di Excel per passare a quei nomi.
Un altro modo per farlo è utilizzare la modalità di anteprima delle interruzioni di pagina. (Per passare all’anteprima delle interruzioni di pagina, scegliere Visualizza | Anteprima interruzioni di pagina.) È quindi possibile vedere dove si trovano le interruzioni di pagina, selezionare una cella nella pagina desiderata e quindi tornare alla visualizzazione normale.
È anche possibile creare una macro che ti permetta di passare a una pagina specifica, ma non è così facile come potresti pensare. Il motivo ha a che fare con il possibile utilizzo di interruzioni di pagina rigide, che possono cambiare il punto di inizio e di fine delle pagine. La seguente macro potrebbe fare il trucco per te, tuttavia. Richiede all’utente un numero di pagina e quindi seleziona la cella in alto a sinistra nella pagina inserita.
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: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (5823) si applica a Microsoft Excel 97, 2000, 2002 e 2003.