如何在文本字段中防止多个“,”

时间:2014-06-18 11:16:04

标签: vba

是否有人知道如何阻止用户使用if语句在文本字段中输入多个逗号?例如:

if txtWidth.text (contains more than one ",") then
    MsgBox ("Please enter only one comma.")
Else ...

我应该在第一对括号的位置放置什么?我正在制作的节目是Solidworks。

我刚开始编程,有些条款对我来说不是很清楚。如果在其他地方解释并且我没有正确搜索我道歉。

如果有人可以帮助我那将是非常好的。 提前谢谢!

罗布

3 个答案:

答案 0 :(得分:1)

我认为你需要一些嵌套的if语句。

这样的事情:

If input = "," Then
    If numcommas = 0 Then
        numcommas = 0
    Else
        'Don't allow input of character
    End If
End If

为了使用它,你需要稍微改变一下,但这应该让你开始,或者至少给你一个关于去哪里的想法。

答案 1 :(得分:1)

您可以使用InStr()功能两次:

if (InStr(1,txtWidth.Value,",") > 0 ) then
    if (InStr(InStr(1,txtWidth.Value,",") + 1,txtWidth.Value,",") > 0) then
        MsgBox ("Please enter only one comma.")
    end if
end if

有关InStr的详细信息,请参阅here

答案 2 :(得分:0)

这是一种只使用一个if函数的方法:

If (Len(txtWidth.text) - Len(Replace(txtWidth.text, ",", ""))) > 1 Then
'Your Message'
End If

这段代码的作用是将字符串的长度与字符串的长度进行比较,清除所有逗号。所以Len(“Test”)将返回长度为5而Len(Replace(“Test”,“,”,“”)返回4并通过减去这些值来获得字符串中逗号的数量。< / p>