- ベストアンサー
離れたセルに移動する
エクセルのセルの移動について セルE1に入力しenterキ-で セルA2に移動する方法はありますか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
VBAでよければ、参考にしてみてください。 処理したいブックの [ThisWorkbook] Private Sub Workbook_Activate() If (ActiveSheet.Name = "Sheet1") Then Application.OnKey "{Enter}", "Cell_Move" Application.OnKey "~", "Cell_Move" End If End Sub Private Sub Workbook_Deactivate() If (ActiveSheet.Name = "Sheet1") Then Application.OnKey "{Enter}" Application.OnKey "~" End If End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) If (Sh.Name = "Sheet1") Then Application.OnKey "{Enter}", "Cell_Move" Application.OnKey "~", "Cell_Move" End If End Sub Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) If (Sh.Name = "Sheet1") Then Application.OnKey "{Enter}" Application.OnKey "~" End If End Sub 標準モジュール Sub Cell_Move() With ActiveCell If (.Column = 5) Then ActiveSheet.Cells(.Row + 1, 1).Activate Else ActiveSheet.Cells(.Row, .Column + 1).Activate End If End With End Sub シート名を"Sheet1"に限定してますので、違う場合は変更してください。 もっとスマートな方法もあるかもしれませんが、思いつきませんでした。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
どうも質問はA列からE列まで横流しに入力して行き、 E列を入力すると、A列次行にリターンして欲しいと言うことでしょう。 それなら#1のご解答のTABとエンタの利用しかないでしょう。 E列より右のセルを保護して(カーソル移動を下でも右でもにしておいても)TABキーを押し続けても、E列でエンタを入れなくても、EからA列次行に行くようである。 エクセルには入力範囲の制限方法が無く保護がそれか? 一般に何処にカーソルがあってもA2に戻るようにするなら 下記の方法が考えられますが、具体的用途が想像できません。 (1)A2セルに名前をつけて名前ボックスのそれをクリック。(2クリック) 挿入―名前-定義 (2)コマンドボタンを貼り付けて、クリック。(1クリック)クリックすると指定のセルA2へ移動。 (3)ワークシートのイベントを捉え、VBAで指定のセルA2へ移動。(0クリック) などを考えられます。
- papayuka
- ベストアンサー率45% (1388/3066)
こんにちは。 例えば、A1からE1まで横に入力して行き、次のレコードA2にって事なら、A1~D1までは確定時にEnterではなくTabを押し、E1の確定時にだけEnterで確定するようにすると、次の行の先頭列に(ここではA2)に移動します。 この方法はスタート列がA列でなくても有効です。 単純にA列に戻りたいだけなら、Homeキーで戻れます。
お礼
すばらしい回答を有難うこざいます。 回答を実行してみました、私の考えているとおりに実行できました。