织梦CMS - 轻松建站从此开始!

VBA教程、excel VBA编程、VBA视频、VBA控件,VBA应用教程,vba技巧

如何将光标返回文本框中(excel vba代码)

时间:2010-02-01 08:48来源:未知 作者:vba技术联盟 点击:
在用文本框往工作表录入数据时,一般会在录入到工作表前验证输入的数据是否正确,如果错误,则清空文本框内容,提示用户重新输入。但此时光标已经不在文本框中,需要重新选择文本框才能输入。 可以在Exit事件中可以设置Cancel参数值使光标停留在当前文本框中,如下面的代码

在用文本框往工作表录入数据时,一般会在录入到工作表前验证输入的数据是否正确,如果错误,则清空文本框内容,提示用户重新输入。但此时光标已经不在文本框中,需要重新选择文本框才能输入。
       可以在Exit事件中可以设置Cancel参数值使光标停留在当前文本框中,如下面的代码所示。

复制内容到剪贴板
代码:
#001  Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
#002      With TextBox1
#003          If .Text <> "" And Len(Trim(.Text)) <> 15 And Len(Trim(.Text)) <> 18 Then
#004              .Text = ""
#005              MsgBox "身份证号码录入错误!"
#006              Cancel = True
#007          End If
#008      End With
#009  End Sub

代码解析:
       文本框的Exit事件,在输入身份证号码后即将把焦点转移到录入按钮控件之前检查输入的身份证号码是否正确。
       Exit事件在一个控件从同一窗体的另一个控件实际接收到焦点之前发生,语法如下:
Private Sub object_Exit( ByVal Cancel As MSForms.ReturnBoolean)
       Cancel参数为事件状态。False表示由该控件处理这个事件(这是默认方式)。True表示由应用程序处理这个事件,并且焦点应当留在当前控件上。
       第3行代码,使用Len函数和Trim函数检查输入的身份证号码是否为15位或18位。
       第4行到第6行代码,如果输入的身份证号码不正确,清空文本框以便重新输入并提示用户,设置Cancel参数为True使光标停留在文本框中。
       在Exit事件中之所以把文本框为空也做为通过验证的条件之一,因为如果不加上“TextBox1.Text <> ""”这一条件,那么在窗体显示后,如果用户取消输入或关闭输入窗体,也会提示输入错误。所以在录入到工作表之前再验证文本框是否为空,如下面的代码所示。

复制内容到剪贴板
代码:
#001  Private Sub CommandButton1_Click()
#002      With TextBox1
#003          If .Text <> "" Then
#004              Sheet1.Range("a65536").End(xlUp).Offset(1, 0) = .Text
#005              .Text = ""
#006          Else
#007              MsgBox "请输入身份证号码!"
#008          End If
#009              .SetFocus
#010      End With
#011  End Sub

代码解析:
       输入按钮的Click事件,把文本框数据录入到工作表A列最后一个单元格中并重新选择文本框准备下一次输入。
       第3行代码,在输入到工作表前检查文本框是否为空。
       第4、5行代码,如果文本框不为空,录入数据到工作表并清空文本框内容。
       第7行代码,如果文本框为空,提示用户输入数据。
       第8行代码,使用SetFocus方法将光标返回到文本框中以便重新输入。
       SetFocus方法将焦点移动到对象的实例中,语法如下 :
object.SetFocus
       参数object.是必需的,一个有效的对象。
       运行窗体,在输入框中输入身份证号码后自动验证输入的数据,如果输入数据错误,清空文本框并提示用户重新输入,如图所示。


 
 

 

(责任编辑:vba技术联盟)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
栏目列表
推荐内容