0

我正在寻找一种在 VBA 中比较两个字符串变量的方法。我正在使用的当前语句(没有产生预期的结果)是:

  • If Variable1 = Variable2 Then...

我有一个 VBA 宏,它在我的代码的第一部分分配了两个变量:

  • Dim Variable1 as String Variable1 = Left(Range("$F$3").Value, 4)
  • Dim Variable2 as String Variable2 = ("SheetName.B15")

我尝试使用以下语句,但它仍然无法正常工作:

  • If Variable1 Like Variable2 Then...

以前,该语句使用与第一个变量的字符串比较,但它要求我对“ABC”字符串进行硬编码。它看起来像下面的语句:

  • If Variable1 = "ABC" Then...

有谁知道比较两个字符串变量的语句的语法,或者可以推荐一种在 sub 中比较它们并返回二进制结果的方法,然后我可以比较?

谢谢!


在 Windows 8 上运行 VBA for Excel 2013

4

2 回答 2

2

您可以使用StrComp

 Sub compare()
        MsgBox StrComp("Stack", "stack") 'alerts -1 
    End Sub

Sub compare()
    MsgBox StrComp("Stack", "stack", 1) 'Compare as text while ignoring case
End Sub

第一个是区分大小写的,而第二个不是,当然你可以用变量替换硬编码的值

于 2013-06-05T23:13:35.963 回答
0

这是解决方案:

我没有正确分配 Variable2,因此该函数没有产生预期的结果。感谢大家的贡献,通过回复 - 这就是我们想出的:

要比较现有 sub 中的两个字符串变量,请使用:

If Variable1 = Variable 2 Then...

要比较它自己的子中的两个字符串变量,请使用:

Sub compare()
    MsgBox StrComp("Stack", "stack") 'alerts -1 
End Sub

Sub compare()
    MsgBox StrComp("Stack", "stack", 1) 'Compare as text while ignoring case
End Sub
于 2013-06-06T17:19:47.103 回答