在另一个单元格中输入数据并按下Enter选项后转到特定单元格

时间:2013-04-11 15:03:37

标签: excel excel-vba vba

我有Excel表格,我在A2,B2和C2输入数据;点击输入后我想让光标选择下一行,这样我就可以输入A3,B3和C3等信息了

我找到了这个信息

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

但它只能工作一次,我怎么能一遍又一遍地重复这个过程

感谢您的帮助......

3 个答案:

答案 0 :(得分:6)

另一种方式。

  1. 如果您在Col A中的任何位置键入,则选择将移至Col B.
  2. 如果您在Col B中的任何位置键入,则选择将移至Col C.
  3. 如果您在Col C中的任何位置键入,则选择将返回到Col A(下一行)。
  4. 代码:这是相关的表格区域。

    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

答案 1 :(得分:1)

在您的工具&gt;选项对话框中输入后移动选择的设置是什么?:

enter image description here

有关Tech Republic: Three ways to control Excel's cursor movement during data entry的更多信息会告诉您如何做到您想要的......

基本上,选择要输入数据的范围单元格,Excel选择第一个单元格,然后在每个条目后点击{Tab}键。 Excel会将克拉移动到您选择中的下一个空单元格

瞧!

答案 2 :(得分:1)

如果您需要参与VBA,那么分别设置方向和状态的属性:

Application.MoveAfterReturnDirection = xlToRight 
Application.MoveAfterReturn = True