我有一个问题,现在困扰我几个小时了:
我的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