我有一个带有表单控制按钮的speadsheet。在一个按钮调用的宏的末尾,我想将焦点设置为另一个按钮,这样如果我看到第一个按钮完成了这个工作,我就可以按Enter键。
我搜索了Q& A并得到了这个
ActiveSheet.Shapes("CommandButton1").Select
这不起作用。它选择形状但Enter不运行它。此外,CommandButton的方法不起作用。
ActiveSheet.Shapes("CommandButton1").SetFocus
返回“不支持的方法”错误。
我得到了另一个答案:
Me.CommandButton1.SetFocus
但它不起作用。我得到“需要对象”错误。这让我相信Excel VBA中不存在CommandButton#对象,或者它引用了一个表单。但我的按钮直接放在电子表格上。 试图
ActiveSheet.CommandButton1.SetFocus
ActiveSheet.Buttons("Button 1").SetFocus
无效。
我找到了一个类似这样的旧示例代码:
CommandButton2.Caption = "CONTINUE"
CommandButton1.Enabled = False
CommandButton3.Enabled = False
这适用于该示例,但在该示例中,按钮的行为有所不同。我怀疑它们是ActiveX或其他东西而不是表单控制按钮。在该示例中,右键单击它们不会显示上下文菜单。
我试过
ActiveSheet.Buttons("Button 1").ControlFormat
但不知道接下来要用什么。 SetFocus不起作用。
这应该是直截了当的,所以我很惊讶没有一个答案对我有用。我没有同事与VBA打交道。它看起来非常具体。所以,请提前感谢您的帮助。
答案 0 :(得分:0)
使用名为" CommandButton1"的ActiveX控件按钮,您可以调用
Me.CommandButton1.Activate
来自同一工作表。
答案 1 :(得分:0)
在名为“ CommandButton1”的表单控件按钮上,您可以调用
UserForm1.CommandButton1.SetFocus
这将确保焦点在CommandButton1上。