比较两个stringvariables忽略大小写

我需要在If语句中比较2个variables,但如果除了个案以外都一样,我仍然希望它返回true。 我知道不能写这个,但这是我正在寻找的感觉:

If (str1=str2 matchcase:=false) then 

有任何想法吗? 谢谢

如果你正在寻找最快的,你会想使用StrComp()

StrComp将做几个testing,以避免实际比较string或整个string,使string不同时更快。 如果你期望有很多共同的价值观,你可以避免使用StrComp,但大部分情况下会更快。

 100M comparisons with same phrase but different case: LCase = 20 seconds StrComp = 23 seconds *This is a rare case 100M comparisons with different phrase but same length LCase = 20 seconds StrComp = 9 seconds 100M comparisons with different phrase and different length LCase = 25 seconds StrComp = 9 seconds 

注:string的长度将会改变结果。 例如,在最后一次testing中,LCase比其他testing花费的时间更长,因为我将其中一个string的长度加倍了。 这减慢了LCase,但不是StrComp。

注2:LCase和UCase有相似的结果。

If (lcase(str1)=lcase(str2)) then

虽然我更喜欢@先生回答的答案,但你仍然可以参考这个替代使用StrCompfunction。

 Sub test() Dim str1 As String Dim str2 As String str1 = "test" str2 = "Test" MsgBox StrComp(str1, str2, vbTextCompare) 'Return Values ' 'The StrComp function has the following return values: ' 'If StrComp returns 'string1 is less than string2 -1 'string1 is equal to string2 0 'string1 is greater than string2 1 'string1 or string2 is Null Null End Sub