大家好,我们今日继续讲解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").End(xlUp).Offset(1, 0) = TextBox1.Text

TextBox1.Text = ""

Sheets("sheet11").Range("a65536").End(xlUp).Offset(0, 1) = TextBox2.Text

TextBox2.Text = ""

TextBox1.SetFocus

Else

If TextBox1.Text = "" And TextBox2.Text <> "" Then

MsgBox "录入数据1为空,请输入正确的数字!"

TextBox1.SetFocus

End If

If TextBox1.Text <> "" And TextBox2.Text = "" Then

MsgBox "录入数据2为空,请输入正确的数字!"

TextBox2.SetFocus

End If

If TextBox1.Text = "" And TextBox2.Text = "" Then

MsgBox "录入数据1和2均为空,请输入正确的数字!"

TextBox1.SetFocus

End If

End If

End Sub

代码解析:输入按钮的Click事件,把文本框数据录入到工作表A列最后一个单元格中并重新选择文本框准备下一次输入。

第2行代码,在输入到工作表前检查文本框是否为空。

第3、4、5、6行代码,如果文本框不为空,录入数据到工作表并清空文本框内容。

第7行代码,使用SetFocus方法将光标返回到文本框1中以便重新输入。

后续的代码不再讲解,请读者自己分析。

代码截图:

窗体截图:

运行截图:

点击录入工作表:

如果某文本框为空:

今日内容回向:

1 今日讲解的使控件获得焦点的方法是什么?

2 数据是如何录入到工作表的?(之前有朋友问到此问题,请留意代码)

vba 判断文本框内容是否为空_校验数据一旦失败,VBA代码自动控制焦点返回的另一备选方案...相关推荐

  1. vba 判断文本框内容是否为空_【VBA】 数据输入 Inputbox 基本语法

    在使用Excel 的过程中,如果需要用户输入简单的数据,作为"已知数",那么可以使用inputbox 函数显示一个对话框,供用户在对话框中输入数据. Inputbox 函数语法在一 ...

  2. vba 判断文本框内容是否为空_VBA代码用SetFocus精确控制焦点事件

    VBA++ 题记: 静下心,多学习有用的知识,多提高自己的水平和能力,这才是正道.时间就像一张网,你撒在哪里,你的收获就在哪里.谨记自己的方向,这是路之所在.适当节制自我的各种欲望,谁都逃不过时间的历 ...

  3. vba 判断文本框内容是否为空_Excel/VBA编程用户交互函数(二)——InputBox()函数和inputbox方法...

    在上一篇文章Excel/VBA编程用户交互函数(一)--msgbox()函数中,小伙伴们了解了消息弹窗的知识,今天我们来学习一下Excel/VBA编程的第二个用户交互函数Inputbox()函数及In ...

  4. vba 判断文本框内容是否为空_VBA代码解决方案第119讲:如何遍历工作表中的图形...

    大家好,我们今日继续讲解VBA代码解决方案的第119讲内容:如何遍历工作表中的图形.其实这节的内容在我前面的章节中已经讲过,今日但拿出来,作为一节的专门的内容. 工作表中的多个图形,有时我们需要根据实 ...

  5. html文本框判断,html的判断文本框内容举例

    在很多情况下,我们都需要登陆.注册等,如果输入的东西不符合要求,那么就会无法提交数据内容. 我们这次的界面设计里面用到了这个,觉得有用拿来看看. 序号 这里的pattern里面是正则表达式规则,是在t ...

  6. 【重构】判断文本框组合框是否为空

    在机房重构中,判断文本框与组合框的内容是否为空是必不可少的,如果遇到文本框较多的窗体一个一个的进行判断实在是太麻烦,而且重复代码太多.重构中避免重复代码的出现是必须的,所以可以将重复的代码封装成一个类 ...

  7. 判断文本框、组合框是否为空

    我们在做机房收费系统的时候,很多情况下都要判断文本框是否为空,那接下来我们看看在vb.net中我们怎么判断文本框.组合框是否为空. 一.遍历窗体中有多少个文本框,这时我们用For Each循环语句,先 ...

  8. VBA实现从EXCEL单元格更新或修改PPT对应文本框内容并且不改变格式

    VBA实现从EXCEL单元格更新或修改PPT对应文本框内容并且不改变格式 配置工作 开发 演示 注意点!!! 打赏 原创不容易,请不要抄袭! 配置工作 EXCEL 2010版本以上配置 文件-选项-自 ...

  9. js中判断文本框是否为空的两种方法

    js中判断文本框是否为空的两种方法 //用户名非空验证 function checkUserName(){ var name = document.myform.txtUser; //在这里我认为: ...

最新文章

  1. PostgreSQL学习手册(四) 常用数据类型
  2. 并不对劲的bzoj2820:p2257:YY的GCD
  3. 移动端整屏滑动的实现
  4. VM pow 函数 :undefined reference to `pow'
  5. C++ map基本操作
  6. c++构造函数详解(转)
  7. 比较Spring AOP和AspectJ
  8. iScroll API
  9. 大数据时代的图表可视化利器——highcharts,D3和百度的echarts
  10. 转:飞思卡尔单片机RAM与flash相关问题
  11. 【Jmeter】Jmeter java.lang.IllegalAccessError: class com.github.weisj.报错
  12. 【CS学习笔记】26、杀毒软件
  13. Prompt-Learning for Fine-Grained Entity Typing
  14. C语言中的全局变量定义与使用
  15. android 有关毫秒转时间的方法,及时间间隔等
  16. 【记忆化搜索】UVA 10118 free candy
  17. 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)E-缺席的神官
  18. 基于Python进行人脸验证人脸识别综合开发
  19. Linux中SELINUX状态的巨大影响
  20. 2011年IT热点事件回顾 乔布斯逝世上榜

热门文章

  1. 自动关闭模态框_Dialog 弹出框
  2. 汉仪尚巍手书_官宣,汉仪字库入选“十大著作权合作伙伴”啦!
  3. git提交输入密码_git提交到自己的服务器,每次都要输入密码
  4. 拷贝mp3java_字节流复制mp3文件(带缓冲区)
  5. java读写锁降级_java的读写锁中锁降级的问题
  6. SQL 登录注入脚本_常见web安全问题,SQL注入、XSS、CSRF,基本原理以及如何防御...
  7. 关于 ESP,EBP,EIP
  8. Python脚本后台运行的五种方式
  9. python 使用 requests 做 http 请求
  10. python中字符串的几种表达方式(用什么方式表示字符串)