【发布时间】:2020-07-16 14:27:45
【问题描述】:
使用此代码(如下)重置用户表单中的所有字段:
Private Sub cmdReset_Click()
Dim iControl As Control
For Each iControl In Me.Controls
If iControl.Name Like "txt*" Then iControl = vbnullstring
If iControl.Name Like "cmb*" Then iControl = vbnullstring
Next
End Sub
我有一个文本框(转换为 %)没有重置,但显示如下:
-nan(ind)00.00%
知道如何防止这种情况并清除文本框吗?
【问题讨论】:
-
通过有效地调用
iControl = ...,您正在设置控件的.Value属性(默认属性)。由于 value 属性是一个变体,你应该将它设置为Null而不是vbNullString。后者仅用于字符串。 -
另外,除非您只想清除特定控件,否则要清除所有文本框和组合,您可以致电
If TypeName(ctl)="TextBox" Or TypeName(ctl) "ComboBox" Then ...。 -
@KostasK。嘿,非常感谢!将 iControl 设置为
Null有效。不确定您是否想创建一个答案,以便我给您信用,但谢谢! -
很高兴它已排序。您可以发布有关如何解决问题的答案并接受它。然后你的帖子就完成了。一旦你这样做,我会删除这条评论。 :)