2013-04-11 66 views
5

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

但它只能一次,怎么能输入信息我在重复这个过程,并在

感谢您的帮助.....

+0

类型 “VBA循环” 到谷歌,看看你会得到什么。 – 2013-04-11 15:22:39

回答

1
在你的工具

>选项对话框什么是移动选择输入后设置:?

enter image description here

有上Tech Republic: Three ways to control Excel's cursor movement during data entry这将告诉你如何做的正是你想要的更多信息...

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

瞧!

+0

现在我有这个选项,每次我输入时都会右移,但是在输入单元格C3上的信息后,我输入它移动到D3,然后我需要选择A4 ......所以下一次我关于A4,B4和C4的输入信息,我再次打入输入应该去A5等 – user2270747 2013-04-11 15:22:17

+0

我增加了更多的细节,看看我的更新 – 2013-04-11 15:30:58

+0

是否解决了你的问题? – 2013-04-11 15:58:55

1

如果需要涉及到VBA来,有来分别设定的方向和状态属性:

Application.MoveAfterReturnDirection = xlToRight 
Application.MoveAfterReturn = True 
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 

截图

enter image description here

+0

+1很好地覆盖。 – brettdj 2013-04-11 23:53:40

+0

Siddhart Rout感谢您的帮助!有用!!! =) – user2270747 2013-04-12 14:21:34

+0

@ user2270747:有效?你怀疑它? :P – 2013-04-12 14:22:50

相关问题