如何设置Excel在按回车后直接跳至另一个编辑框

我们单位编辑了一个表格,里面有很多待添选项和很多已经写好的选项.现在我编辑时,编辑好了一个格,一按回车,就跳到了下面的一个格,可那往往不是我要添的格啊!!有什么办法能让我... 我们单位编辑了一个表格,里面有很多待添选项和很多已经写好的选项.
现在我编辑时,编辑好了一个格,一按回车,就跳到了下面的一个格,可那往往不是我要添的格啊!!

有什么办法能让我编辑好一个框后,一按回车,就跳到另一个我想编辑的选框么??

好的追加分啊~~~!!
我....我感觉我的要求不高啊~~,就是设置好下次跳到的空位嘛.....我想应该是可以设置的.......哪位高手能帮帮忙?

现在来看3楼的办法真不错,间接解决了我的问题!我特别欣赏这种虽然不知道常规方法但是懂得"曲线救国"的方式!很有趣~~,如果再没有好的回答,分数就是他的了~.

klndicky的回答很专业,但是经过我的反复尝试,并没有实现自动的跳转,不知怎么,代码没有起到任何作用,可以再作一下指点么?另外我希望能够自己设置一下跳转的顺序如输入完B1后跳转到G1然后到K1等等,跳转是没有规律的.有劳您啦~~.

喔~~我突然发现了一个问题,两位的代码都好用,但是所应用的表格中有很多的合并单元格,这直接导致了代码的失效.....比如说,A3-D3之间是经过合并的单元格,在选中此格的时候,显示的是A3,但是我希望跳转到的是下一个B6到F6合并的那个单元格.两位的代码在新的,没有合并单元格的表格中都好用,可一到我的有合并的表格中就失效了,有什么补救办法么?
展开
 我来答
klndicky
推荐于2016-06-26 · TA获得超过666个赞
知道小有建树答主
回答量:381
采纳率:100%
帮助的人:0
展开全部
楼主要求的方法, 我十年前已用, 当然是用VBA
WORKSHEET_CHANGE()的办法 便可以
先假设下次跳到的空位是有规律的

假设最上的几行是信头/表头等, 需编辑的范围是从第5行开始
每行需要编辑的的列号是 A列→C列→G列, 然后是下一行的A列, 依此类推
方法是:
右击(该工作表)工作表标签
选 检视程序代码(V)
对话框左上方的下拉 选 Worksheet
右上方的下拉 选 Change
将代码放在:
Private Sub Worksheet_Change(ByVal Target As Range)
[代码放在这里]
End Sub

代码是:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Or Target.Row < 5 Then Exit Sub
Select Case Target.Column
Case 1
If IsEmpty(Target) = True Then
Target.Select
Beep
Else
Target.Offset(0, 2).Select
Beep
End If
Case 3
If IsEmpty(Target) = True Then
Target.Select
Beep
Else
Target.Offset(0,4).Select
Beep
End If
Case 7
If IsEmpty(Target) = True Then
Target.Select
Beep
Else
Target.Offset(1,-6).Select
Beep
End If
End Select
End Sub
然后关闭代码视窗, 完成

以后, 在 A5, 输入回车, 便会跳到C5, 再跳G5, 再跳A6…..
如在A5清除内容后回车, 是不会跳到C5, 仍停在A5

假设跳格的路线是 A3:D3(合并格), B6:F6(合并格), A7, E7:F7(合并格), F10 共5格
在VBA的Array 中, 只需列出最左上的单元格便OK, 即 A3:D3 写成$A$3便可以, 最后的一格 F10, 要重覆一次
全新代码如下(语法及判断方法与前代码完全不同了):
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ABC
xx = Array("$A$3", "$B$6", "$A$7", "$E$7", "$F$10", "$F$10")
For Each x In xx
If Target.Address = x Then
If IsEmpty(Target) Then
Target.Select
Exit Sub
Else
Range(xx(x1 + 1)).Select
Exit Sub
End If
End If
x1 = x1 + 1
Next
ABC:
End Sub
TableDI
2024-07-18 广告
Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击45步自动完成vlookup匹配,无需手写公式,免费使用!... 点击进入详情页
本回答由TableDI提供
哪个账号没人用
2007-07-17 · TA获得超过251个赞
知道小有建树答主
回答量:701
采纳率:0%
帮助的人:514万
展开全部
如果表格的重复率高,也就是说表格是规定好的,那有个办法

就是拿一个表格,增加一个sheet,比如说叫做edit
然后,把表格的待填项,一个个和edit的A1-A100这样对应起来
然后在表格的每一项,写上代码"=edit!A1"....
最后保存
把这个文件作为标准文件
然后每次就通过这种方法可以用enter输入

也不是很方便,但多的话就快点

****************8

谢谢楼主美誉^_^,如果你有编程的朋友更简单,用VB做一个Excel的插件小程序,更加容易实现。

^^^^^^^^^^^^^^^^^^^^^^^^^^
嗯klndlcky的方法是最实用的,使用VBA进行编程

其中的offset是指当前位置对应的相对坐标,楼主可以仿照修改一下,这个程序帮你解读一下

If Target.Cells.Count > 1 Or Target.Row < 5 Then Exit Sub
这里规定了前5行和多于一个单元格选择,这个区间程序不生效
Select Case Target.Column
以列为筛选对象,下面的case7之类的是指第几列

程序可能和楼主的要求稍有出入

稍微修改了一下
Private Sub Worksheet_Change(ByVal Target As Range)

If Target = Cells(1, 2) Then '如果选择了(B1)

If IsEmpty(Target) = True Then '如果B1是空的
Target.Select'选择B1
Beep
Else 'B1不是空的,回车到下一个
Cells(1, 7).Select 'G1被选中
Beep
End If
End If

End Sub

楼主照着慢慢调试吧

&&&&&&&&&&&&&&&&&&&&&&&

嘿嘿,这位老大哥还真不错,测试过了,楼主按照他的方法调整吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lslhenike
2007-07-22 · TA获得超过1720个赞
知道小有建树答主
回答量:769
采纳率:50%
帮助的人:529万
展开全部
最简单最实用的方法是先将你需要填写的单元格选中,然后填好一个就按Enter键,如果上一格写错了,按Shift+Enter键可回到上一格,按F2进行编辑,或直接重写这一格,当然,如果不用Enter键,用Tab键也可,不过Tab键是用于横向移动当前单元格,而Enter键是用于纵向移动当前单元格。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真的有火
2007-07-15 · TA获得超过3927个赞
知道小有建树答主
回答量:1832
采纳率:25%
帮助的人:1236万
展开全部
EXCLE还没达到这种猜测心理的智能的程度
一般来说 输数据时都是连续的,所以EXCEL只提供了回车后往上下左右4个方向走,其他的没有
想要隔单元格,只能点鼠标,这是最简单也是最快的 (:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
azhecom
2007-07-15 · 超过22用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:0
展开全部
不按回车
按“Tab键”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式