出産前後の痔にはご注意!

エクセルのセルの移動について
セルE1に入力しenterキ-で
セルA2に移動する方法はありますか。

A 回答 (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"に限定してますので、違う場合は変更してください。
もっとスマートな方法もあるかもしれませんが、思いつきませんでした。
    • good
    • 0
この回答へのお礼

すばらしい回答を有難うこざいます。

回答を実行してみました、私の考えているとおりに実行できました。

お礼日時:2002/09/21 07:27

どうも質問はA列からE列まで横流しに入力して行き、


E列を入力すると、A列次行にリターンして欲しいと言うことでしょう。
それなら#1のご解答のTABとエンタの利用しかないでしょう。
E列より右のセルを保護して(カーソル移動を下でも右でもにしておいても)TABキーを押し続けても、E列でエンタを入れなくても、EからA列次行に行くようである。
エクセルには入力範囲の制限方法が無く保護がそれか?
一般に何処にカーソルがあってもA2に戻るようにするなら
下記の方法が考えられますが、具体的用途が想像できません。
(1)A2セルに名前をつけて名前ボックスのそれをクリック。(2クリック)
  挿入―名前-定義
(2)コマンドボタンを貼り付けて、クリック。(1クリック)クリックすると指定のセルA2へ移動。
(3)ワークシートのイベントを捉え、VBAで指定のセルA2へ移動。(0クリック)
などを考えられます。
    • good
    • 0

こんにちは。



例えば、A1からE1まで横に入力して行き、次のレコードA2にって事なら、A1~D1までは確定時にEnterではなくTabを押し、E1の確定時にだけEnterで確定するようにすると、次の行の先頭列に(ここではA2)に移動します。
この方法はスタート列がA列でなくても有効です。

単純にA列に戻りたいだけなら、Homeキーで戻れます。
    • good
    • 0

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


人気Q&Aランキング