《VBA经典应用69例》(10178981),是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容:应用3之Like运算符的应用
【分享成果,随喜正能量】佛陀所揭示的因果,不是用来吓唬人的,而是用来提醒人的。这个真理,不管你是否相信,它都在那里,不增不减。。
应用3 VBA中字符串值的比较方案
大家好,对于职场中和数据打交道较多的学员,学习、利用VBA本身就是工作中的一件乐事,将大量的手工操作交给计算机自己去完成,收获的是效率的提高,以及工作后大量的宽裕的实间。这讲给大家讲解一个实际的VBA利用场景,并加以总结。在利用VBA处理实际问题中最为常见的一类是值的比较判断。当数据的值满足某种条件时让程序做相应处理,当不满足时做其他处理,这种逻辑是贯穿于整个代码过程的基本逻辑思路,这个专题我们就来讲解一下VBA中有关值的比较判断方案。
2Like运算符的应用
仍是上面的例子,为了得到匹配大小写的值比较结果,我们还可以利用Like运算符。Like 运算符用于比较两个字符串。
语法:result = string Like pattern
参数:
① result必需,任何数值变量。
② string必需;任何字符串表达式。
③ pattern必需;任何符合备注中所述的模式匹配约定的字符串表达式。
l如果string与pattern匹配,则result为True;如果没有匹配项,则result为 False。 如果string或pattern为 Null,则result为Null。
lLike运算符的行为取决于Option Compare 语句。每个模块的默认字符串比较方法为 Option Compare Binary。
lOption Compare Binary根据从字符的内部二进制表示派生的排序顺序进行字符串比较。以下示例中显示了典型的二进制排序顺序:
A < B < E < Z < a < b < e < z < À< Ê< Ø< à< ê< ø
lOption Compare Text 根据由系统的区域设置确定的不区分大小写的文本排序顺序生成字符串比较。当使用 Option Compare Text为相同的字符排序时,将生成以下文本排序顺序:
(A=a) < (À=à) < (B=b) < (E=e) < (Ê=ê) < (Z=z) < (Ø=ø)
l内置模式匹配为字符串比较提供了一个功能多样的工具。 利用模式匹配功能,可以将通配符、字符列表或字符范围任意组合使用来匹配字符串。下表显示了 pattern 中允许使用的字符以及它们的匹配项:
?任意单个字符。
*零个或多个字符。
#任何单个数字 (0-9) 。
[charlist]charlist 内的任意单个字符。
[!charlist]charlist 外的任意单个字符。
一组包含一个或多个字符的(charlist)括在方括号([ ])中可用于匹配字符串中的任意单个字符,并且可以包含几乎所有字符代码,包括数字。
l若要匹配特殊字符左方括号 ([),问号(?)、数字符号()#和星号(* ),将它们括在方括号中。右方括号(])组内不能用于匹配其自身,但可在组外部用作单个字符。
我20多年的VBA实践经验,全部浓缩在下面的各个教程中: