VBA用户表格设置焦点问题

时间:2014-12-18 17:05:23

标签: vba userform setfocus

我有一个问题,现在困扰我几个小时了:

我的Excel用户窗体上有一个清除按钮,运行一个子程序,清除XY框架中的所有数据。

运行此操作后,我想将焦点返回到XY框架中的文本框。但是,每次尝试使用.SetFocus时都会出错。

在弄乱这个时,我发现“ActiveControl”仍然是Clear Button,我想知道如何将ActiveControl切换到我的XY Frame。 XYFrame.Activate不起作用。

有什么想法吗?

Private Sub ClearButton_Click()

    ClearForm ' Run subroutine to clear out data

    MsgBox (XYForm.ActiveControl) ' This shows that ActiveControl is still "ClearButton"
    XYFrame.Activate ' This gives an error
    XYFrame.TextBox1.SetFocus ' This gives an error

End Sub

另一个令人发狂的事情是我可以毫无问题地引用文本框值,但我不能在子例程或ClearButton子文件中的文本框上设置SetFocus。

 XYForm.TextBox1.Visible = True  'works fine                        
 XYForm.TextBox1.Enabled = True  'works fine
 XYForm.TextBox1.Locked = False  'works fine
 msgbox(XYForm.TextBox1.Value)   'works fine
 XYForm.TextBox.SetFocus         'doesn't work

0 个答案:

没有答案