Application.SendKeys Keys:=“{F2}”不能从Formbutton子例程中使用

从macros快捷键调用时,此代码工作正常,也就是说,它将一个预选的单元格放入编辑模式。

Sub EditActiveCell() Selection.Activate Application.SendKeys Keys:="{F2}" End Sub 

但是,从用UserForm控件单击的子例程调用时,它将无法工作。 点击后,预先select的单元格是“惰性”,必须点击才能input内容。 这就像是在VBA中select的,而不是在Excel客户端中。

另外,如果我从控件中调用的例程如此简单,

 Sub UserFormControlClickAction() ActiveCell.Select End Sub 

然后控制点击子程序离开select(单个单元)“惰性”; 我必须点击才能进入。

任何帮助获取F2设置始终从UserForm控件点击工作?

首先,确保用户表单是无模式的。 在VBE中将窗体的ShowModal属性设置为False。

将下面的代码放在用户窗体的代码模块中:

 Private Sub UserForm_Click() Appactivate Thisworkbook.Name EditActiveCell End Sub Sub EditActiveCell() Selection.Activate Application.SendKeys "{F2}", True End Sub 

运行用户窗体,现在当您单击窗体时,工作表上的活动单元将进入编辑模式。

当然,您可以使用控件的事件过程,但我试图尽可能简单。