【问题标题】:Excel VBA how do I make the Enter key behave like the Tab keyExcel VBA 如何使 Enter 键的行为类似于 Tab 键
【发布时间】:2011-05-05 16:20:27
【问题描述】:

我希望 Enter 键的功能与使用工作表输入值时的 Tab 键一样。我不确定这些信息是否足以让您帮助我,所以如果不是,请提出问题。

我能够在工具>选项>输入后编辑移动选择中找到一个设置 - 正确。我想要同样的功能,但只适用于一个特定的工作表。

【问题讨论】:

  • 在用户表单中还是在工作表中?

标签: excel vba


【解决方案1】:

使用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_ActivateSheet_Deactivate 将属性实际设置为xlToRight 并将其重置为OldDirection(因此无论用户选择什么作为标准行为)。使用多个打开的工作簿进行测试,来回跳转;这些触发器并不总是在明显的时候表现得很明显....

【讨论】:

  • 我会使用带有工作表激活和停用触发器的 if then 语句吗?如果我关闭应用程序,它会自动将其设置回默认值吗?
  • 我看不到在工作簿或工作表激活/停用触发器中实施更多条件的理由。 yesMoveAfterReturnDirection 的当前状态在应用程序关闭后保留。就像你通过工具/选项/编辑更改设置一样
  • 有没有办法在关闭时将其更改回默认值?也许设置一个变量并在 Workbook_Close() 中设置一个 Application.MoveAfterReturnDirection = 变量?此 excel 文档将在多台计算机上使用,我不想更改他们的个人设置。有任何想法吗?感谢您一直以来的帮助,我真的很感激。
  • 该函数作用于用户的Excel应用程序,它不会在工作表中存储任何状态。重新个人设置见我的Edit-2
猜你喜欢
  • 1970-01-01
  • 2019-08-30
  • 2010-11-03
  • 1970-01-01
  • 1970-01-01
  • 2011-06-05
  • 1970-01-01
  • 2013-03-08
  • 1970-01-01
相关资源
最近更新 更多