【VBA】Enterを押したら指定したセルに自動で移動させる方法

目次

経緯

Excelで複数の入力項目が点在している場合、セルを行き来する操作が面倒になることがあります。
私の場合、入力するセルが「A1」「C4」「F3」などバラバラに配置されており、毎回マウスや矢印キーで移動するのが手間に感じていました。

そこで今回は、Enterキーで値を入力したあと、次の指定セルに自動的に移動する方法をVBAで実装してみました。

実現したい仕様

  • セルA1に値を入力してEnterを押すと、自動でセルC4に移動
  • セルC4に値を入力してEnterを押すと、自動でセルF3に移動
  • 以後、任意の順番でセル移動を設定可能
  • ワークシートごとのVBAコード(Sheet1など)で動作

実装コード(VBA)

以下のコードを、VBAエディタの「Sheet1」モジュールに記述します。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        Me.Range("C4").Select
    ElseIf Target.Address = "$C$4" Then
        Me.Range("F3").Select
    End If
End Sub

このコードは、セルの値が変更されるたびに自動で実行されます。

コードの解説

  • Worksheet_Change は、対象シートで何かセルが変更されたときに反応するイベントです。
  • Target.Address は変更されたセルのアドレスを取得します。
  • 条件に一致するセルであれば、Range("C4").Select のように次の入力セルへ移動させることができます。

注意点

  • セルの内容が変わったタイミングで実行されるため、「Enterを押す」という操作と厳密に連動するものではありませんが、実用上ほぼ同じように動作します。
  • 別のワークシートで使いたい場合は、それぞれのシートモジュールに同様のコードを追加する必要があります。
  • 移動先のセルに既に値が入っている場合も、選択だけが実行されます。

まとめ

  • VBAを使えば、入力完了後に自動で指定セルに移動させる動作を作れます。
  • セルの順番を自由に設定できるので、業務に合わせた入力フォームの作成にも活用可能です。
  • 入力作業の効率化や入力ミスの削減にもつながります。

マウス操作の手間を省きたい方や、テンプレート入力の導線をスムーズにしたい方は、ぜひ導入してみてください。

技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。

プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。

気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。

[Kindle Unlimited 読み放題プランをチェックする]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次