Excel中的VBA - Userform Variable = textbox.text但仅当textbox.text不为空时

时间:2014-05-10 10:57:56

标签: excel vba excel-vba textbox

我遇到确保Variable = textbox.text的问题,但仅当textbox.text不为空时

我的userform上有一系列复选框,每个复选框都绑定到一个变量,该变量的值是基于标签标题的整数。其中一个需要绑定到一个文本框,以允许额外的成本添加到总和,如果复选框值为true但文本框为空,需要有一个错误提示用户,这我做得很好。问题是绑定到文本框文本的变量不起作用,我的猜测是它链接到错误所以我必须确保变量only =文本框文本,如果文本框文本不为空。

到目前为止,这是我的代码

    If chkbOther.Value = True And txtOther.Text < "" Then Other = CDbl(txtOther.Text)
        If chkbOther.Value = False Then Other = 0
    If chkbOther.Value = True And txtOther.Text = "" Then MsgBox "Please enter the additional service cost", vbCritical, "Missing Value Error"

1 个答案:

答案 0 :(得分:0)

我认为这实际上可能是一个流动问题。我稍微重写了一下,并添加了IsNumericVal函数的使用,这些函数更适合您尝试实现的目标。

If chkbOther.Value = True Then
    If IsNumeric(txtOther.Text) = False Then
        MsgBox "Please enter the additional service cost", vbCritical, "Missing Value Error"
    Else
        Other = Val(txtOther.Text)
    End If
Else
    Other = 0
End If