VBA实现一键清除textbox数值的方法

如题,我做了一个VBA窗体的查询工具,希望每次执行前都清空一次全部的TEXTBOX,我的程序是这样的:
For i = 2 To 136
Controls("TextBox" & i).Text = ""
Next
但是textbox的序号不连续,其中有些我删除掉了,因此导致i不连续,如textbox39我删除了,当运行到textbox39时候会弹错,如果能让他判断是否存在,如果不存在就直接下一个i,求助,谢谢

可以换个思路,遍历窗体中的所有控件,如果控件类型是textbox,则将其text属性设置为空
代码如下:
For Each C In UserForm1.Controls
If TypeName(C) = "TextBox" Then C.Text=""
Next

关于此例中用到的TypeName函数的相关知识:
适用于获得一个变量的类型名称的,比如 A 是一个字符串变量,那么TypeName(A)=String
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-29
For Each ctrl In UserForm1.Controls
    If TypeName(ctrl) = "TextBox" Then ctrl.Text=""
Next

本回答被网友采纳
第2个回答  2014-07-29
在函数的最前边写 on error resume next 行不?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网