我想楼主是想用数字小键盘输入吧,按回车方便,然后向右走。如下图将按Enter键后移动的方向改为向右就行了。2003版好象在:工具——选项——编辑 里。
设置好后全选中要输入的区域,数字小键盘输入——回车——输入 就行了,一行完了自动到第二行……。有用加分哦
需要用到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中输入数字都会受影响!
应该不可以。因为EXCEL输入是以回车或移动到另外的单元格为结束的,不能以长度为输入限制,作数据有效性判断也要结束输入后才判断。
可以用VBA,需要的HI或者私信详谈。。。