指定した行より下のセルに移動すると自動で上の行に戻る

何行も何列もある表に続けて入力していく時、一番下のセルへの入力が終わったら自動で上方にジャンプして、次の列のセルを選択してくれればいいと思いませんか。

3~50行目に入力する表があったとして、例えばB50に入力を終えてEnterキーを押すとC3に移動し、次にC50に入力を終えたらD3に移動する。このようにするには、対象となるワークシートモジュール内に以下のプロシージャを記述します。

※ 入力後にセルを移動する方向が「下」に設定されている場合です

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Dim TopRow As Byte       ' ジャンプ後に移動する行番号
  Dim BottomRow As Long       ' 選択可能最下行
  TopRow = 3
  BottomRow = 50
  If Target.Row > BottomRow Then
    ActiveWindow.ScrollRow = 1       ' 1行目を一番上に表示する
    Cells(3, Target.Column + 1).Select
  End If
End Sub


広い範囲に連続して値を入力する場合は大変便利です