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
运行用户窗体,现在当您单击窗体时,工作表上的活动单元将进入编辑模式。
当然,您可以使用控件的事件过程,但我试图尽可能简单。