Excelで指定行へジャンプ(スクロール)する


Excelで指定行へジャンプ(スクロール)する方法について書きます。








(完成イメージ)


上記の様なイメージで希望したセル(のある行)までジャンプしたいのですが、

Excelの標準機能にはそのような機能はありません。



ということで、VBAで実現します。


(2014.7.26 訂正)

Excel標準機能でジャンプする方法もありました。 こちら



VBAでワークシート内の指定行へジャンプする(Window.ScrollRow)



VBAのWindow.ScrollRowプロパティにより、指定行へ画面をスクロールさせることができます。

これを利用して、マクロを作成します。



以下、サンプルソースです。

標準モジュールに記述してください。



[サンプルソース]

Public Sub jumpToTargetRow()
'------------------------------------------------------------------------------
' jumpToTargetRow
' 対象行までジャンプする
'
'------------------------------------------------------------------------------
    
    '対象行番号
    Dim tRow As Long
    
    'エラー時は処理終了
    On Error GoTo endSub
    tRow = CLng(Application.InputBox("指定行へジャンプします"))
    
    If tRow > 0 Then
    
        '画面スクロール
        ActiveWindow.ScrollRow = tRow

            
        'スクロール先のセルを選択(列番号は最初に選択していた範囲の1列目とする)
        Cells(tRow, Selection(1).Column).Select
    
    End If
    
endSub:
    
End Sub


InputBoxで指定行を入力させ、スクロールします。

スクロール後、スクロール先のセルを選択します。

実行すると、最初のイメージ通りの結果になります。



私は、Ctrl+jキーに上記のマクロを登録し、使用しています。

ショートカットの登録方法は、以下の記事をご参照ください。

Excel起動時にVBAマクロへショートカットを自動設定する - Sumihirablog.



2014.7.26 訂正

Excel標準機能で指定のセルへジャンプする方法

標準機能でもできました。

[方法]

Excelを開いてF5キー押下。






以上です。