エクセルの表に手入力せざるを得ない場面での小技をご紹介します。
特定の列または行を選択した時に、自動で選択セルを移動します。
何列(または何行)かの連続したデータを手入力する場面で試してみてください。
言葉では説明しずらいので、以下画像のような場面を例にとります。
上の図では、「縦・横・高さ・重量」の順で入力していき、終わったら次の行の「縦」から入力していきます。
このような場面でG列を選択した瞬間に自動で次の行の「縦」のセル(1行下・4列左のセル)を選択するようにします。
1.「Enter」キーを押した時に右に移動するように設定します
エクセルのファイルメニューから「オプション」を選択します。
「詳細設定」の「Enterキーを押した後にセルを移動する」の方向を右に設定し、右下の「OK」をクリックします。
これでEnterキーを押すと右に移動するようになります。
2.セル移動のコードを貼り付け
対象のシート名の上で右クリック → コードの表示を選択します。
すると右側に大きな白いスペースが現れたと思います。
※↓画像の赤枠部分
このスペースに以下のコードをコピペしてください
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 7 Then
Target.Offset(1, -4).Select ’ここの(1, -4)の値を変えることで移動するセルを設定できます
End If
End Sub
「If Target.Column = 7 Then」は「7列目(G列)を選択した場合」という意味です。
A列=1、B列=2、C列=3、というように列番号を指定します。
R1C1参照形式にしたり、column関数を使うという方法もありますが、1回だけの入力なので、指折り数えながら「A(1)、B(2)、C(3)・・・」と列番号を数えて設定すれば大丈夫だと思います。
ちなみにコードの中にある「Target.Offset(1, -4).Select」のカッコの中を編集することで移動するセルを変えられます。
「Target.Offset(1, -4).Select」は「1行下、4列左のセルを選択する」を意味しています。
Target.Offset(Y, X).SelectのXとYはそれぞれ、Xが列(左右)、Yが行(上下)になります。
手入力する場面というのは多岐に亘るので、今回紹介した方法が使えない場面も有るかと思います。
もし活用できる場面でしたら、ぜひとも使ってみてください。