验证用户表单文本框为小数

时间:2021-03-26 16:32:13

标签: excel vba

我有一个用户表单,它应该只接受小数值,例如 15/35 、 1-4/5 等等。

对于数值,有一个方法 IsNumeric。
有什么可以用于小数的吗?

我在 Change 事件中尝试了 LIKE 方法。

If (Me.txt_Fractional Like "00/00") Then
    fr = Me.txt_Fractional.value
Else
    Me.txt_Fractional = ""
End If

1 个答案:

答案 0 :(得分:0)

最后我想出了两个函数。第一个用于文本框更改事件,另一个用于文本框退出事件。

Function validate_fraction(val As String) As Boolean
    validd = 0
    On Error Resume Next
    validd = Evaluate(val)
    On Error GoTo 0
     If Not IsError(validd) Or Right(val, 1) = "/" Then
            validate_fraction = True
    Else
        validate_fraction = False
    End If
End Function

Function validate_fraction_exit(val As String) As Boolean
    validd = 0
    On Error Resume Next
        validd = Evaluate(val)
    On Error GoTo 0
        If Not IsError(validd) And InStr(val, "/") > 0 And Not InStr(val, ".") > 0 Then
            validate_fraction_exit = True
        Else
            validate_fraction_exit = False
        End If

End Function