Excel VBA Like 函数不起作用
Posted
技术标签:
【中文标题】Excel VBA Like 函数不起作用【英文标题】:Excel VBA Like Function not working 【发布时间】:2014-11-25 10:08:31 【问题描述】:我在vba
中使用这条指令:
str1 = Sheet1.Cells(2, 9)
str2 = Sheet1.Cells(2, 10)
cell(2,9)="توابع تبریز"
cell(2,10)="تبریز"
我写了这段代码:
if trim(str1) like "*"+trim(str2) then
msgbox "ok"
end if
但是这个 if 块不起作用并且 Like 函数返回 false 结果。
但是当我写这段代码时:
a="توابع تبریز " like "*"+"تبریز"
但现在返回 True!会发生什么?
【问题讨论】:
【参考方案1】:+
运算符不是问题所在。虽然建议使用&
而不是+
我猜语言是乌尔都语。如果是,那么我只记得它是从左到右写的。所以在那种情况下试试这个
If str1 Like "*" & str2 Then 'Remove the trim
您必须删除修剪,因为它正在修剪空格,因此通配符不起作用。请参见下面的示例。
例子
Sub Sample()
'~~> Trying to imitate Urdu in reverse
Cells(2, 9) = " aaaa bbbb "
Cells(2, 10) = " bbbb "
str1 = Cells(2, 9)
str2 = Cells(2, 10)
If str1 Like "*" & str2 Then MsgBox "Hey"
End Sub
【讨论】:
【参考方案2】:您没有正确连接字符串。您当前使用的 +
是一个数学运算符。将您的+
替换为&
,如下所示:
If Trim(str1) Like "*" & Trim(str2) Then
【讨论】:
+
运算符不是问题所在。虽然建议使用&
而不是+
以上是关于Excel VBA Like 函数不起作用的主要内容,如果未能解决你的问题,请参考以下文章