我的用户表单有几个可以由用户编辑的文本框,但是向我报告它正在调试。经过一些调查后,我发现用户正在删除文本框中的值,这导致运行时错误13.如果用户删除了值{{1,我如何停止运行时错误文本框变为servcredit
?
目前,文本框中包含以下2段代码。
这会将数值输入到后面的Excel工作表中。
vbnullstring
这可确保用户不输入无数字数字。
Private Sub ServCredit_Change()
Worksheets("Calculator").Range("L18") = CDec(ServCredit)
End Sub
答案 0 :(得分:1)
您可以简单地测试是否有值:
Private Sub ServCredit_Change()
If Len(ServCredit.Text) <> 0 then
Worksheets("Calculator").Range("L18").Value2 = CDec(ServCredit)
Else
Worksheets("Calculator").Range("L18").Value2 = vbnullstring
end if
End Sub
答案 1 :(得分:0)
首先需要检查ServCredit
是否为数字。 CDec
无法将vbNullString强制转换为数字。
If IsNumeric(ServCredit) then
Worksheets("Calculator").Range("L18") = CDec(ServCredit)
else
Worksheets("Calculator").Range("L18") = 0
End If