Microsoft Excel 工作表,我要在E到K列里输入单个数字,能不 能输入一个数字后,光标就会自动向右跳格。

如图,我要在E到K列里输入单个数字,能不
能输入一个数字后,光标就会自动向右跳格。
是自动跳的,而不用按ENTER等其它键。求教
了。
要是实现了,我会追加分的哦。。。
网上看到有这样的例子,是否可行,我是没有试成功。
在下面括号里面要填写什么吗?

输入auto_open点击创建进入代码编辑窗口,输入代码,然后保存退出,重新打开文档就生效:
Sub auto_open()
Application.OnKey "0", "a"
Application.OnKey "1", "b"
Application.OnKey "2", "c"
Application.OnKey "3", "d"
Application.OnKey "4", "e"
End Sub

Sub a()
ActiveCell.Value = 0
SendKeys "{Enter}"
End Sub

Sub b()
ActiveCell.Value = 1
SendKeys "{Enter}"
End Sub

Sub c()
ActiveCell.Value = 2
SendKeys "{Enter}"
End Sub

Sub d() ActiveCell.Value = 3
SendKeys "{Enter}"
End Sub

Sub e() ActiveCell.Value = 4
SendKeys "{Enter}"
End Sub

我想楼主是想用数字小键盘输入吧,按回车方便,然后向右走。如下图将按Enter键后移动的方向改为向右就行了。2003版好象在:工具——选项——编辑  里。

设置好后全选中要输入的区域,数字小键盘输入——回车——输入   就行了,一行完了自动到第二行……。有用加分哦

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-26
需要用到VBA
但建议使用TAB键
好处是:
1.不需要用VBA宏代码
2.一直按TAB键右移,直至输入完个位后,按回车将自动回到下一行的千位,非常实用
养成用TAB键输入整行数据的习惯会觉得非常方便

如果你确实需要VBA,也不建议用补充提问中的代码,请试试下面的代码:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "0"
Application.OnKey "1"
Application.OnKey "2"
Application.OnKey "3"
Application.OnKey "4"
Application.OnKey "5"
Application.OnKey "6"
Application.OnKey "7"
Application.OnKey "8"
Application.OnKey "9"
End Sub
Private Sub Workbook_Open()
Application.OnKey "0", "'NUM_INPUT(""0"")'"
Application.OnKey "1", "'NUM_INPUT(""1"")'"
Application.OnKey "2", "'NUM_INPUT(""2"")'"
Application.OnKey "3", "'NUM_INPUT(""3"")'"
Application.OnKey "4", "'NUM_INPUT(""4"")'"
Application.OnKey "5", "'NUM_INPUT(""5"")'"
Application.OnKey "6", "'NUM_INPUT(""6"")'"
Application.OnKey "7", "'NUM_INPUT(""7"")'"
Application.OnKey "8", "'NUM_INPUT(""8"")'"
Application.OnKey "9", "'NUM_INPUT(""9"")'"
End Sub
上面这两个要放在Thisworkbook代码窗口

Sub NUM_INPUT(theNUM)
ActiveCell = theNUM
With ActiveCell
If .Column >= 5 And .Column < 11 Then .Offset(0, 1).Select
If .Column = 11 Then .Offset(1, -6).Select
End With
End Sub
这段要新建一个模块,然后放在模块代码窗口

如果对VBA不熟,建议还是不要用了。这段程序能够实现你的要求,但只要打开这个文件,那么在EXCEL中输入数字都会受影响!追问

想再请教一下,用小键盘就不起作用吗?为什么?

追答

对应小键盘的话,请修改下面两个过程:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "{96}"
Application.OnKey "{97}"
Application.OnKey "{98}"
Application.OnKey "{99}"
Application.OnKey "{100}"
Application.OnKey "{101}"
Application.OnKey "{102}"
Application.OnKey "{103}"
Application.OnKey "{104}"
Application.OnKey "{105}"
End Sub

Private Sub Workbook_Open()
Application.OnKey "{96}", "'NUM_INPUT(""0"")'"
Application.OnKey "{97}", "'NUM_INPUT(""1"")'"
Application.OnKey "{98}", "'NUM_INPUT(""2"")'"
Application.OnKey "{99}", "'NUM_INPUT(""3"")'"
Application.OnKey "{100}", "'NUM_INPUT(""4"")'"
Application.OnKey "{101}", "'NUM_INPUT(""5"")'"
Application.OnKey "{102}", "'NUM_INPUT(""6"")'"
Application.OnKey "{103}", "'NUM_INPUT(""7"")'"
Application.OnKey "{104}", "'NUM_INPUT(""8"")'"
Application.OnKey "{105}", "'NUM_INPUT(""9"")'"
End Sub

追问

灰常州感谢,实在是高

来自:求助得到的回答本回答被提问者和网友采纳
第1个回答  2013-02-26
应该不可以。因为EXCEL输入是以回车或移动到另外的单元格为结束的,不能以长度为输入限制,作数据有效性判断也要结束输入后才判断。
第2个回答  2013-02-25
可以用VBA,需要的HI或者私信详谈。。。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网