怎么在EXCEL里可以让光标每到第四行输入后就到下一列的第一行去?

时间:2021-09-09 15:04:47
大家好:
      怎么在EXCEL里可以让光标每到第四行输入后就到下一列的第一行去?

8 个解决方案

#1


一般是加个事件

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = Cells.Columns.Count Then Exit Sub
    If Target.Row = 5 Then
        Application.EnableEvents = False
        Cells(1, Target.Column + 1).Select
        Application.EnableEvents = True
    End If
End Sub



一般都是横着输的,竖着输,倒也少见呢

#2


引用 1 楼 laoyebin 的回复:
一般是加个事件

VB code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = Cells.Columns.Count Then Exit Sub
    If Target.Row = 5 Then
        Application.EnableEven……



太谢谢你了!

我希望某一行第一列第一个单元格输完之后光标到这行下一列的单元格,到这行第四列的单元格输完后,光标要求跳到下一行第一列的单元格去。
这个该怎么作呢? 真的很谢谢你!

#3


用列表功能其实是最简单的


用事件的话这样

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 5 Then
        Application.EnableEvents = False
        Cells(Target.Row + 1,1).Select
        Application.EnableEvents = True
    End If
End Sub

#4


你不如直接把其它单元格保护起来让EXCEL自行控制光标的跳转。

QQ群 48866293 OFFICE应用挖掘  
MS OFFICE(ACCESS\EXCE\WORD等应用技术探讨与交流!技术群,请阅群论坛中的《踢人规则》

#5


引用 2 楼 nichol888 的回复:
引用 1 楼 laoyebin 的回复:
一般是加个事件

VB code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = Cells.Columns.Count Then Exit Sub
If Target.Row = 5 Then
Application.Enab……



我是希望在同一行中,第一列到第四列是横向输入,输完这列第一个单元格,要求光标转到这行第二列的单元格,到这行第四列的单元格输完后,光标要求跳到下一行第一列的单元格去。谢谢!

#6


引用 5 楼 nichol888 的回复:
引用 2 楼 nichol888 的回复:
引用 1 楼 laoyebin 的回复:
一般是加个事件

VB code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = Cells.Columns.Count Then Exit Sub
If Target.Row = ……


我3楼的代码就可以了呀
回车横向移动,在EXCEL选项里设置

#7


非常感谢;
有没有办法将“回车横向移动”也设在程序里呢?

#8


再加个change事件

#1


一般是加个事件

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = Cells.Columns.Count Then Exit Sub
    If Target.Row = 5 Then
        Application.EnableEvents = False
        Cells(1, Target.Column + 1).Select
        Application.EnableEvents = True
    End If
End Sub



一般都是横着输的,竖着输,倒也少见呢

#2


引用 1 楼 laoyebin 的回复:
一般是加个事件

VB code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = Cells.Columns.Count Then Exit Sub
    If Target.Row = 5 Then
        Application.EnableEven……



太谢谢你了!

我希望某一行第一列第一个单元格输完之后光标到这行下一列的单元格,到这行第四列的单元格输完后,光标要求跳到下一行第一列的单元格去。
这个该怎么作呢? 真的很谢谢你!

#3


用列表功能其实是最简单的


用事件的话这样

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 5 Then
        Application.EnableEvents = False
        Cells(Target.Row + 1,1).Select
        Application.EnableEvents = True
    End If
End Sub

#4


你不如直接把其它单元格保护起来让EXCEL自行控制光标的跳转。

QQ群 48866293 OFFICE应用挖掘  
MS OFFICE(ACCESS\EXCE\WORD等应用技术探讨与交流!技术群,请阅群论坛中的《踢人规则》

#5


引用 2 楼 nichol888 的回复:
引用 1 楼 laoyebin 的回复:
一般是加个事件

VB code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = Cells.Columns.Count Then Exit Sub
If Target.Row = 5 Then
Application.Enab……



我是希望在同一行中,第一列到第四列是横向输入,输完这列第一个单元格,要求光标转到这行第二列的单元格,到这行第四列的单元格输完后,光标要求跳到下一行第一列的单元格去。谢谢!

#6


引用 5 楼 nichol888 的回复:
引用 2 楼 nichol888 的回复:
引用 1 楼 laoyebin 的回复:
一般是加个事件

VB code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = Cells.Columns.Count Then Exit Sub
If Target.Row = ……


我3楼的代码就可以了呀
回车横向移动,在EXCEL选项里设置

#7


非常感谢;
有没有办法将“回车横向移动”也设在程序里呢?

#8


再加个change事件