印刷時に16ページを必要とする大きなワークシートがあるとします。ワークシート内で作業しているときに、5ページなどの特定のページにジャンプする方法があるかどうか疑問に思うかもしれません。

Wordユーザーは、Word内で[移動]ダイアログボックスを使用してさまざまなページにジャンプできることを知っていますが、Excelにはそのような機能はありません。ただし、問題に取り組む方法はいくつかあります。

1つの方法は、ページの上部に表示されるセルを選択することです。

(たとえば、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_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(5823)は、Microsoft Excel 97、2000、2002、および2003に適用されます。