Excel VBA如何让Enter键的行为与Tab键相似

问题描述:

我希望Enter键的功能与使用工作表输入值时的Tab键相同。我不确定是否有足够的信息可以帮助我,所以如果不是这样的话,请提问。Excel VBA如何让Enter键的行为与Tab键相似

在输入后,我可以在工具>选项>编辑移动选择中找到一个设置 - 右键。我想要相同的功能,但仅限于一个特定的工作表。

+0

用户表单或工作表中?工作表中的 – MikeD 2011-05-02 20:21:25

+0

。 – Symon 2011-05-02 20:23:26

使用Application.MoveAfterReturnDirection属性 - 最好设置在Workbook_Open()

例如

Application.MoveAfterReturn = True ' here we say thou shallst move 
Application.MoveAfterReturnDirection = xlToRight ' here we say move right 

希望帮助 好运 拾音

编辑:

如果你在同一个应用程序超过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_ActivateSheet_Deactivate实际的属性设置为xlToRight并将其重置为OldDirection(所以无论用户选择作为标准行为)。用多个打开的工作簿进行测试,来回跳转;这些触发器在显而易见的时候并不总是显而易见......

+0

我会使用,如果然后语句与表激活和停用触发器?如果我关闭应用程序,它会自动将其设置回默认值? – Symon 2011-05-03 00:00:07

+1

我没有看到在工作簿或工作表激活/停用触发器中实施更多条件的原因。并且**是**在应用程序关闭后,“MoveAfterReturnDirection”的当前状态将保留。这与您通过工具/选项/编辑 – MikeD 2011-05-04 06:49:13

+0

更改设置相同,有没有办法将其更改回默认关闭?也许设置一个变量,并在Workbook_Close()一个Application.MoveAfterReturnDirection =变量?这个excel文件将用于多台电脑,我不想改变他们的个人设置。有任何想法吗?感谢您的持续帮助,我非常感谢。 – Symon 2011-05-04 19:13:58