我正在努力使用Excel操作员我花了很长时间搜索我感觉好像我很接近我正在尝试编写这个If语句,如果值不是以722 *开头并且不等于PI然后执行紧跟在else之下的代码执行else语句下的代码。
If Not CStr(Cells(r, cC)) = "722*" And Not CStr(Cells(r, cS)) = "PI" Then
答案 0 :(得分:3)
最简单的方法是使用BeaconManager.setsManifestCheckingDisabled(true);
Left
如果要使用通配符,请使用If Not Left(CStr(Cells(r, cC),3) = "722"
:
Like
将它们与If Not Cells(r, cC)) Like "722*" Then
进行比较仅将=
视为一个角色。
Edit2:显然我对Like的计算工作有误。喜欢似乎是更快的方法(在这种情况下),特别是如果没有匹配(懒惰的评估,我猜)。显然,在这两种情况下,总的CPU和内存使用量都很小,这取决于您的选择。
这是我发现的:
*
比s Like "722*"
Left(s,3) = "722"
比s Like "*722"
Right(s,3) = "722"
比s Like "*722*"
差异的大小取决于字符串长度以及是否匹配(例如Instr(1,s,"722")>0
如果s Like "722*"
不以s
和{{{{}}开头,则非常快如果用更长的东西替换“722”,则1}}和7
不会受Left
的影响。