Переход на определенную страницу (Microsoft Excel)
Предположим, у вас есть большой рабочий лист, для распечатки которого требуется 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), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (5823) применим к Microsoft Excel 97, 2000, 2002 и 2003.