大家好,我们今日继续讲解VBA代码解决方案的第95讲内容:如果文本框的录入校验不能通过,光标仍返回文本框中的另一方案。在上一讲中我讲了利用EXIT事件中的Cancel 参数的设置来达到我们的目的(值是True)。这种方法中大家要掌握的是EXIT事件的意义和Cancel 参数的意义。在实际利用的时候往往不是很多。今天讲到的方法往往会有广泛的应用。
今天讲使用SetFocus方法对光标进行主动的设置,这时很实际的用法,通过设置可以让光标按照自己的要求出现在你需要的控件上。SetFocus方法就是将焦点移动到对象中,语法如下 :object.SetFocus
参数object.是必须的,是一个有效的对象。对象必须是 Form 对象、MDIForm 对象或者能够接收焦点的控件。
在调用 SetFocus 方法以后,任何的用户输入将指向指定的窗体或控件。需要注意的是焦点只能移到可视的窗体或控件上。因为在窗体的 Load 事件完成前窗体或窗体上的控件是不可视的,所以如果不是在 Form_Load 事件过程完成之前首先使用 Show 方法显示窗体的话,是不能使用 SetFocus 方法将焦点移至正在自己的 Load 事件中加载的窗体的。也不能把焦点移到 Enabled 属性被设置为 False 的窗体或控件。如果已在设计时将 Enabled 属性设置为 False,必须在使用 SetFocus 方法使其接收焦点前将 Enabled 属性设置为 True。
我们看下面的实测代码,如下所示。
Private Sub CommandButton1_Click()
If TextBox1.Text <> "" And TextBox2.Text <> "" Then
Sheets("sheet11").Range("a65536"