入力範囲の指定
を押して作動するプログラムを作ります。
Sub 選択()
Application.MoveAfterReturnDirection = xlToRight
If Range("D6") = "" Then
Range("A6:D106").Select
Else
nyu = Range("D5").End(xlDown).Row
Range(Cells(nyu + 1, 1), Cells(nyu + 101, 4)).Select
End If
End Sub
まず、
Application.MoveAfterReturnDirection = xlToRight
は、Enterキーを押すと、セルが横へ移動するように指定しています。
たぶん、多くのエクセルの初期設定は、Enterキーを押すと、セルが下へ移動するように
なっていると思うのですが、これを設定することで
月日→摘要→項目→金額、の順に、セルが移動してくれるので、入力が楽になるかと思います。
次に
If Range("D6") = "" Then で
”D6”のセルが空白かどうか判断し
もし、空白ならば、
のように選択し、
”D6”が空白でなければ
のように、
入力セルを範囲指定してくれます。
nyu = Range("D5").End(xlDown).Row
は、”D5”から下の行へ、データの有無を確認していき、データの存在が確認される
最下端のセルの行を、変数”nyu”に入力します。
そして、”D6”が空白ならば
Range("A6:D106").Select
のように、A列からD列の、6行目から106行目までを選択。
”D6”が空白でなければ
Range(Cells(nyu + 1, 1), Cells(nyu + 101, 4)).Select
のように、データの入っている最下端のセル”nyu”の行に、1行プラスした(つまり”nyu”の下の行)から
さらに100行プラスした範囲で、セルを選択します。