セル入力時にアクティブセルを移動させない(2)


セルにデータを入力してEnterキーを押すと、一般的にはアクティブセルが真下のセルに移動します。これは、Excelのオプションがそのように設定されているからです。

データを入力しても、アクティブセルを移動させたくないときは、EnterキーではなくCtrl + Enterキーで確定してください。

Ctrl+Enterキーは押したくないと。どうしてもEnterキーで確定したいんだと。それでもアクティブセルは移動させたくないし、オプションを変更するのなんてまっぴらだ!と。そのように、強い信念をお持ちの方は、次のような方法を試してはいかがでしょう。ここでは、下図のように、セルC2に入力するものとして解説します。アクティブセルは、セルC2にしといてください。

まず[数式]タブ-[定義された名前]グループの[名前の定義]ボタンをクリックして[名前の定義]ダイアログボックスを開きます。定義する名前は何でもいいです。ここでは、とりあえず「入力欄」としておきましょう。ダイアログボックスを開くと、[参照範囲]ボックスには自動的にアクティブセルのアドレスが表示されていますので、その後ろに半角のカンマ(,)をひとつ入力します。

続いて、セルC2をクリックします。

これで準備完了です。[OK]ボタンをクリックしてダイアログボックスを閉じてください。入力するときは、名前ボックスで、いま定義した名前を選択します。Excelのバージョンによっては、下図のようにセルC2がグレイの塗りつぶしで表示されます。気にしないでください。

セルC2が選択されているようにしか見えませんが、何か入力してEnterキーを押しても、アクティブセルが移動しません。というか、アクティブセルは、常にセルC2に移動します。

ちょっと仕組みを解説します。セルに入力するか編集してEnterキーを押したとき、一般的には下のセルにアクティブセルが移動します。これは、セルを1つだけ選択しているときの動作です。たとえば、下図のように、Ctrlキーを押しながら複数のセルを選択しておきます。

今は、アクティブセルがセルA2です。ここに何かを入力してEnterキーを押すと、アクティブセルが次のセル(セルC3)に移動します。

続けて何か入力して、普通にEnterキーを押してください。最後のセル(セルD6)でEnterキーを押すと、最初のセル(セルA2)に戻ります。

Excelは、複数のセルを選択した状態でEnterキーを押すと、選択しているセル範囲内でアクティブセルが移動します。先の名前定義で指定した「=Sheet1!$C$2,Sheet1!$C$2」というのは、要するに「セルC2とセルC2」という意味です。Excelの内部では、セルC2を2回選択しているような状態です。なので、最初のセルC2でEnterキーを押すと、ふたつめのセルC2にアクティブセルが移動し、ふたつめのセルC2でEnterキーを押すと、最初のセルC2にアクティブセルが移動し、それが繰り返されるわけです。まぁ、あまり実用的ではありませんが、あらかじめ決まっている非連続のセルに続けて入力するようなケースで役立つかもしれません。