• ベストアンサー

エクセル VBA アクティブセルから移動する

アクティブセルへ入力し、エンターを押すと右隣のセルへ移動するように Module 1へ Sub セル() ActiveCell.Offset(0, 1).Select End Sub と、入れましたが、エンターを押すと、下のセルへ移動してしまいます。 どこを直せばいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.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

yukiti2
質問者

お礼

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

その他の回答 (2)

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.2

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シートのみ有効です。 複数のシートで同様のことをしたい場合は、 それぞれのシートにコードを貼り付ける必要があります。

yukiti2
質問者

お礼

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

  • mar00
  • ベストアンサー率36% (158/430)
回答No.1

シートの名前の上で右クリック→コードの表示わ選択で 出てきたシートモジュールに Private Sub Worksheet_Change(ByVal Target As Range) Cells(Target.Row, Target.Column).Offset(0, 1).Select End Sub とすればいいと思います。

yukiti2
質問者

お礼

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

関連するQ&A