请教,使用Excel VBA如何判断某个窗体上的一个按钮获得或失去了焦点?谢谢。

想实现,在窗体上的一个按钮:
1)当这个按钮获得了焦点,然后。。。

2)当这个按钮失去了焦点,然后。。。
谢谢

向窗体添加一个 TextBox1 和一个 CommandButton1,然后粘贴以下代码:

Option Explicit

Private Sub CommandButton1_Enter()
    Me.Caption = "按钮获得焦点"
End Sub

Private Sub CommandButton1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Me.Caption = "按钮失去焦点"
End Sub

Private Sub UserForm_Initialize()
    TextBox1.TabIndex = 0
End Sub


F5 运行效果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-13
Private Sub CommandButton1_Enter() '得到焦点显示a
MsgBox "a"
End Sub

Private Sub CommandButton1_Exit(ByVal Cancel As MSForms.ReturnBoolean) '得到焦点显示b
MsgBox "b"
End Sub追问

还是不行啊,运行窗体时,就显示"a"了。
我的想法是:鼠标放在按钮上时,显示a;离开时显示b。
这样可以做出来吗?
请继续指教下。

追答

Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
MsgBox "a"
End Sub
鼠标放在按钮上时,显示a

本回答被网友采纳
相似回答