此代码在从宏快捷键调用时工作正常,也就是说,它将预先选定的单元格置于编辑模式。
Sub EditActiveCell()
Selection.Activate
Application.SendKeys Keys:="{F2}"
End Sub
然而,当从一个源自UserForm控件点击的子例程调用时,它不会工作。点击后,预先选择的单元格是“惰性的”#34;并且必须单击才能输入内容。它在VBA中被选中,但在Excel客户端中没有。
另外,如果我使从控件点击调用的例程变得如此简单:
Sub UserFormControlClickAction()
ActiveCell.Select
End Sub
然后控制点击子程序离开选择(单个单元格)"惰性&#34 ;;我必须点击它才能进入它。
任何帮助让F2设置从UserForm控件点击一致地工作?
答案 0 :(得分:1)
首先,确保userform是无模式的。在VBE中将表单的
ShowModal
属性设置为False。
将以下代码放在userform的代码模块中:
Private Sub UserForm_Click()
Appactivate Thisworkbook.Name
EditActiveCell
End Sub
Sub EditActiveCell()
Selection.Activate
Application.SendKeys "{F2}", True
End Sub
运行userform,现在当您单击表单时,工作表上的activecell将进入编辑模式。
当然你可以使用控件的事件程序,但我试图让它尽可能简单。