昨日作った、弥生会計の仕訳日記帳を自動生成するエクセルの現金出納帳。
こういったフォームの場合は、Enterキーを押下するたびにカーソルが右に行く方がテンポよく入力できるかなと変更してみました。
エクセルのカーソルキーは、デフォルトではEnterキーを押すと下に移動します。
これを右に移動するように変える場合には、エクセルのオプションで以下のように上下左右に設定を変更できます。
しかしここで変更してしまうと、他のファイルを開いても同じ設定が適用されてしまうので、今回のように「このシートだけ右に行くようにしたい」という場合には、ちょっと具合が悪いことになってしまいます。
このファイルはもともとマクロを使っているので、このシートを選択した時だけカーソルが右に移動するよう一部マクロを追加してみました。
まずはこのシートが選択された場合に、右に行くようにしてみます。
Private Sub Worksheet_Activate()
Application.MoveAfterReturn = True 'Enterキーでのカーソルキーの移動を有効にする。
Application.MoveAfterReturnDirection = xlToRight '移動方向を右に変更するEnd Sub
このマクロによって、該当ワークシートがアクティブになったときに、移動方向が右に変更されます。
逆にこのワークシートがアクティブでなくなった時には、元通り下に移動するようにするには、以下のようなマクロも追加しておきます。
Private Sub Worksheet_Deactivate()
Application.MoveAfterReturn = True
Application.MoveAfterReturnDirection = xlDownEnd Sub
こうしておくと、この現金出納帳のワークシートを選択したときのみ、Enterキーでポンポンとカーソルが右へ右へと移動し、他のシートでは下に下に移動するようになります。