ぐでリーマンの日常

日々の日常で自分の好きな事やお役立ち情報を発信していきます。

Excel VBA Enterキー押下後のセルの移動方向変更

PCワーク

こんにちは、のざっぺです。

先日、社員からこんな要望がありました。「あるExcelだけEnterキーを押下後、カーソルが下ではなく右に移動してほしい。」とのこと。調べたところ、VBAで制御できることがわかったので紹介していきたいと思います。

全てのExcelに影響が出ててもいいなら設定変更のみ

Excel Enterキー後の移動設定画面

設定変更方法は「ファイル」→「オプション」→「詳細設定」の画像の赤枠部分を下以外に変更。

こうすることで、あるExcelではなく、全てのExcelが今後Enterキーを押下後、設定した方向に移動するようになります。VBAでやるよりも簡単ですが、全てのExcelに影響がでるのでご注意を!

VBAでの変更

まず「Alt + F11」でコードの画面を開いてください。開いた後、「ThisWorkbook」をダブルクリックしてください。次に下記のコードを「コピー&ペースト」してください。これで「Enterキーを押下後、カーソルが下ではなく右に移動」となります。

Private Sub Workbook_Activate()

    Application.MoveAfterReturn = True

    Application.MoveAfterReturnDirection = xlToRight

End Sub

下記の「Workbook_BeforeClose」はbookを閉じたときに「Enterキーを押下後、カーソルが下に移動」に戻します。これを行わないと他のExcelで操作したときに「Enterキーを押下後、カーソルが右に移動」になるためです。

Private Sub Workbook_BeforeClose(Cancel As Boolean)

    Application.MoveAfterReturn = True

    Application.MoveAfterReturnDirection = xlDown

End Sub

まとめ

今回はVBAを使用して、「あるExcelだけEnterキーを押下後、カーソルが下ではなく右に移動させる」やり方について紹介してきました。要望が出た社員に「入力後にEnterキーではなく、Tabキー押せば右に移動するよ」と言いましたが、「Entertキーで右に移動してほしい」ということだったので、今回はこのような形で対応しました。プログラム初心者の方でも、そんなに難しくないプログラムなどで、こんな要望がありましたらチャレンジしてみてはいかがでしょうか。

最後までお読みいただきありがとうございました。

プライバシーポリシー・お問い合わせ