2013-04-11 8 views
5

Excelシートがあり、A2、B2、C2にデータを入力しています。私がヒットした後、私は、カーソルが次の行を選択したい入力しますので、私はできA3、B3とC3とそう別のセルにデータを入力してEnterキーを押した後、特定のセルに移動

に私はこの情報

Private Sub Worksheet_Change(ByVal Target As Excel.Range) 
If Range("C2").Value <> "" Then 
Range("A3").Select 
End If 
End Sub 

を見つけました。しかし、それだけでどのようにすることができ、1時間の作品の情報を入力します私は、移動選択の設定は後を入力しているものの上に、このプロセスを繰り返し、あなたの助けのための

以上のおかげで.....

+0

タイプ "VBAループ" グーグルへとあなたが得るものを参照してください。 –

答えて

1

あなたのツールで>オプション]ダイアログ:?

enter image description here

正確に何をしたい行う方法を紹介しますTech Republic: Three ways to control Excel's cursor movement during data entryの詳細情報がある...基本的に

、あなたがにデータを入力したい範囲のセルを選択し、Excelが最初のセルを選択し、 、各入力の後、{Tab}キーを押します。 Excelはカラットを次の空のセルに移動します。

Voila!

+0

今私は入力を押すたびに右に移動するこのオプションを持っていますが、セルC3の情報を入力した後、Enterキーを押してD3に移動し、A4を選択する必要があります。 A4、B4、C4の入力情報を入力して再度入力すると、A5に移動するなど – user2270747

+0

詳細を追加しました。更新内容を参照してください –

+0

あなたの問題を解決しましたか? –

1

あなたはVBAが関与する必要がある場合に、それぞれの方向とステータスを設定したプロパティにあること:

Application.MoveAfterReturnDirection = xlToRight 
Application.MoveAfterReturn = True 
6

もう一つの方法。

  1. あなたはコルAの任意の場所を入力すると、選択はあなたがコルB内の任意の場所に入力する場合は、コルのどこに入力すると、選択はコルC.
  2. に移動しますコルB.
  3. に移動しますCを押すと、選択はCol A(次の行)に戻ります。

コード:関連するシートコード領域に記載されています。

Private Sub Worksheet_Change(ByVal Target As Range) 
    On Error GoTo Whoa 

    Application.EnableEvents = False 

    If Not Target.Cells.CountLarge > 1 Then 
     If Not Intersect(Target, Columns(1)) Is Nothing Then 
      Target.Offset(, 1).Select 
     ElseIf Not Intersect(Target, Columns(2)) Is Nothing Then 
      Target.Offset(, 1).Select 
     ElseIf Not Intersect(Target, Columns(3)) Is Nothing Then 
      Target.Offset(1, -2).Select 
     End If 
    End If 
Letscontinue: 
    Application.EnableEvents = True 
    Exit Sub 
Whoa: 
    MsgBox Err.Description 
    Resume Letscontinue 
End Sub 

スクリーンショット

enter image description here

+0

+1うまくカバーしました。 – brettdj

+0

あなたの助けを借りてSiddhart Routに感謝!できます!!! =) – user2270747

+0

@ user2270747:Works?あなたはそれを疑った? :P –

関連する問題