在另一个单元格输入数据并按回车后,跳转到特定单元格的选项

6

我有一个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

但是它只能运行一次,我该如何重复这个过程呢?

谢谢你的帮助.....


在Google中输入“VBA循环”并查看结果。 - Sid Holland
3个回答

6

另一种方法。

  1. 如果您在 A 列的任何位置键入,选择将移动到 B 列。
  2. 如果您在 B 列的任何位置键入,选择将移动到 C 列。
  3. 如果您在 C 列的任何位置键入,选择将返回到 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

截图

在此输入图片描述


@user2270747:有效吗?你怀疑了吗?:P - Siddharth Rout

1
如果需要涉及VBA,则有两个属性可设置方向和状态,分别为direction和status。
Application.MoveAfterReturnDirection = xlToRight 
Application.MoveAfterReturn = True

1

在您的“工具”>“选项”对话框中,“Enter”后移动选择的设置是什么?

enter image description here

这里有更多关于Tech Republic: Three ways to control Excel's cursor movement during data entry的信息,它将向您展示如何做到您想要的...

基本上,选择您要输入数据的单元格范围,Excel会选择第一个单元格,然后在每次输入后按{Tab}键。Excel将移动插入符号到您选择中的下一个空单元格

就这样!


现在我有这个选项,每次按回车键时都可以向右移动,但是在输入单元格C3上的信息并按回车键后,它会移动到D3,而我需要选择A4......所以下一次我在A4、B4和C4上输入信息时,再次按回车键应该转到A5等等。 - user2270747

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接