ギリギリ行けるお一人様のライン

アクティブセルへ入力し、エンターを押すと右隣のセルへ移動するように

Module 1へ

Sub セル()
ActiveCell.Offset(0, 1).Select

End Sub

と、入れましたが、エンターを押すと、下のセルへ移動してしまいます。
どこを直せばいいでしょうか?

A 回答 (3件)

こんにちは!



お示しのコードは標準モジュールにコードを記載していますので、
ご自身でマクロを実行しなければなりません。

単に右へ移動させるだけであれば
Excel2007以降の場合
画面左上のOfficeボタン(Excel2010以降は「ファイル」)→ Excelのオプション(オプション)→ 
詳細設定 → 「編集設定」の「Enterキーを押した後にセルを移動する」の右▼で「下」となっているところを「右」にしてOK

※ 一定範囲内でそのような操作をしたい!というコトは多々ありますので、
仮にA1~D10セルの範囲内で右へ移動し、最終列(D列)の場合は1行下の最初の列に移動!したい場合は
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペースト → Excel画面に戻りA1~D10セルに何らかのデータを入力 → Enter
としてみてください。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
'▼A1~D10セル以外の場合はなにもしない
If Intersect(Target, Range("A1:D10")) Is Nothing Or Target.Count > 1 Then Exit Sub
'▼D列の場合、1行下の左三列目のセルを選択
If Target.Column = 4 Then
Target.Offset(1, -3).Select
Else
'▼右隣りのセルを選択
Target.Offset(0, 1).Select
End If
End Sub 'この行まで

※ Changeイベントにしていますので、
何らかのデータ入力(消去)などのセル変化が必要です。m(_ _)m
    • good
    • 0
この回答へのお礼

とても詳しく説明してくださりありがとうございました。

お礼日時:2014/11/07 14:55

ENTERキーの変わりにTABキーで右隣に移動しますけど



ENTERキーを押した時の移動方向の設定もできます。
http://support.microsoft.com/kb/968151/ja

コードは以下の通りで
シート名のタグ上で右クリックで『コードの表示』を選択し、
以下のコードを貼り付け

Private Sub Worksheet_Change(ByVal Target As Range)

ActiveCell.Offset(-1, 1).Select

End Sub

上記コードは、1シートのみ有効です。
複数のシートで同様のことをしたい場合は、
それぞれのシートにコードを貼り付ける必要があります。
    • good
    • 0
この回答へのお礼

ありがとうございました。
初心者の私には一番わかりやすいコードと思い、
こちらのコードで試してみました。
思っていた通りのことができました。
また、よろしくお願いします。

お礼日時:2014/11/07 14:57

シートの名前の上で右クリック→コードの表示わ選択で


出てきたシートモジュールに

Private Sub Worksheet_Change(ByVal Target As Range)
Cells(Target.Row, Target.Column).Offset(0, 1).Select
End Sub

とすればいいと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
解決することができました。
またよろしくお願いします。

お礼日時:2014/11/07 14:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報