読者です 読者をやめる 読者になる 読者になる

夢見る税理士の独立開業繁盛記

神戸市東灘区で開業している駆け出し税理士の、試行錯誤日記

シート毎にカーソルの移動方向を変えるには?

昨日作った、弥生会計の仕訳日記帳を自動生成するエクセルの現金出納帳。
f:id:kobarin:20150309201452j:plain
こういったフォームの場合は、Enterキーを押下するたびにカーソルが右に行く方がテンポよく入力できるかなと変更してみました。


エクセルのカーソルは、デフォルトではEnterキーを押すと下に移動します。
これを右に移動するように変える場合には、エクセルのオプションで以下のように上下左右に設定を変更できます。
f:id:kobarin:20150309202150j:plain
しかしここで変更してしまうと、他のファイルを開いても同じ設定が適用されてしまうので、今回のように「このシートだけ右に行くようにしたい」という場合には、ちょっと具合が悪いことになってしまいます。


このファイルはもともとマクロを使っているので、このシートを選択した時だけカーソルが右に移動するよう一部マクロを追加してみました。

まずはこのシートが選択された場合に、右に行くようにしてみます。

Private Sub Worksheet_Activate()

Application.MoveAfterReturn = True 'Enterキーでのカーソルキーの移動を有効にする。
Application.MoveAfterReturnDirection = xlToRight '移動方向を右に変更する

End Sub

このマクロによって、該当ワークシートがアクティブになったときに、移動方向が右に変更されます。


逆にこのワークシートがアクティブでなくなった時には、元通り下に移動するようにするには、以下のようなマクロも追加しておきます。

Private Sub Worksheet_Deactivate()

Application.MoveAfterReturn = True
Application.MoveAfterReturnDirection = xlDown

End Sub


こうしておくと、この現金出納帳のワークシートを選択したときのみ、Enterキーでポンポンとカーソルが右へ右へと移動し、他のシートでは下に下に移動するようになります。

→このエクセルファイルは、こちらのHPからダウンロードできます



神戸市東灘区御影の会計事務所 小林敬幸税理士事務所です