不区分大小写的字符串比较

时间:2015-10-21 15:17:09

标签: excel vba excel-vba

我正试图找到一种方法来显示MsgBox,如果这两个字符串相等但不看大写或小写。

For teller = 1 To 51
If Cells(teller, 5).Value = Me.txtGebruikersnaam Then
    MsgBox ("Deze Gebruiker bestaat al!")
    Exit Sub
    Else
End If
Next

我试图使用:

If (StrComp(Cells(teller, 5).Value = Me.txtGebruikersnaam, vbTextCompare) = 0) Then

但它不起作用。

2 个答案:

答案 0 :(得分:4)

请尝试:

If LCase$(Cells(teller, 5).Value) = LCase$(Me.txtGebruikersnaam) Then

答案 1 :(得分:4)

你在使用StrComp时确实有一个微妙的错误。

原帖中的代码说明:

If (StrComp(Cells(teller, 5).Value = Me.txtGebruikersnaam, vbTextCompare) = 0) Then

问题是你有一个拼写错误,并打算写:

If StrComp(Cells(teller, 5).Value, Me.txtGebruikersnaam, vbTextCompare) = 0 Then

微妙之处在于Cells(teller, 5).Value = Me.txtGebruikersnaam将评估为False/0,除非您有完美的区分大小写匹配,然后与vbTextCompare进行比较,binary是一个值为1的预定义常量。 / p>

用逗号而不是等号来尝试。

PS:同样删除Excel Hero指出的额外括号。