【发布时间】:2011-05-05 16:20:27
【问题描述】:
我希望 Enter 键的功能与使用工作表输入值时的 Tab 键一样。我不确定这些信息是否足以让您帮助我,所以如果不是,请提出问题。
我能够在工具>选项>输入后编辑移动选择中找到一个设置 - 正确。我想要同样的功能,但只适用于一个特定的工作表。
【问题讨论】:
-
在用户表单中还是在工作表中?
我希望 Enter 键的功能与使用工作表输入值时的 Tab 键一样。我不确定这些信息是否足以让您帮助我,所以如果不是,请提出问题。
我能够在工具>选项>输入后编辑移动选择中找到一个设置 - 正确。我想要同样的功能,但只适用于一个特定的工作表。
【问题讨论】:
使用Application.MoveAfterReturnDirection 属性 - 最好在Workbook_Open() 中设置。
例如
Application.MoveAfterReturn = True ' here we say thou shallst move
Application.MoveAfterReturnDirection = xlToRight ' here we say move right
希望有所帮助 祝你好运 迈克D
编辑:
如果您在同一个应用程序中打开超过 1 本书,您最好同时使用工作簿和工作表激活和停用触发器,以将效果限制在尽可能窄的范围内
编辑 2:
您可以将原始状态保存在 ThisWorkbook 模块中的触发器中
Dim OldDirection As Long
Private Sub Workbook_Open()
OldDirection = Application.MoveAfterReturnDirection
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.MoveAfterReturnDirection = OldDirection
End Sub
并依靠Sheet_Activate 和Sheet_Deactivate 将属性实际设置为xlToRight 并将其重置为OldDirection(因此无论用户选择什么作为标准行为)。使用多个打开的工作簿进行测试,来回跳转;这些触发器并不总是在明显的时候表现得很明显....
【讨论】:
MoveAfterReturnDirection 的当前状态在应用程序关闭后保留。就像你通过工具/选项/编辑更改设置一样