目次
経緯
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円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。
