当我调用SetFocus
我的文本框时,它会引发此错误:
Run-time error '438':
Object doesn't support this property or method.
Excel 2013 中是否SetFocus
随时可用,或者我是否必须修补或更新我的 Excel 的任何组件?
我想Setfocus()
可能永远不会抛出这样的错误!
对象不支持此属性或方法(错误 438)
此 OLE 自动化对象不存在此方法或属性。有关对象的更多信息并检查属性和方法的拼写,请参阅对象的文档。
这里你有一个方法SetFocus()
,所以你需要知道这个方法什么时候不存在!
在 Office 2013 中,如果对象或其容器之一不可见或不启用,则会引发此错误:
运行时错误“2110”:
无法将焦点移至控件,因为它不可见、未启用或属于不接受焦点的类型。
并且当我测试通过引发循环时Enter Event
也不会抛出错误,并且还有类似的使用SetFocus()
方法:
Private Sub TextBox1_Enter()
TextBox2.SetFocus
End Sub
Private Sub TextBox2_Enter()
TextBox1.SetFocus
End Sub
我想不出任何其他原因!
请看这个答案:https ://www.vbforums.com/showthread.php?646411-RESOLVED-How-can-I-make-setfocus-ot-Textbox-in-vba
毕竟您使用的是 Excel,但您在工作表上而不是用户窗体上拥有文本框。Setfocus 将适用于用户窗体上的文本框,但正如您所发现的,如果它们在实际工作表上则不行。而不是 setfocus 尝试激活:
Private Sub CommandButton1_Click()
TextBox1.Activate
End Sub