资源描述:
《vba字符串处理大全》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、VBA,字符串处理大全1.VBA中的字符串2.VBA中处理字符串的函数2.1.比较字符串2.2.转换字符串2.3.创建字符串2.4.获取字符串的长度2.5.格式化字符串2.6.查找字符串2.7.提取字符/字符串2.8.删除空格2.9.返回字符代码2.10.返回数值代表的相应字符2.11.使用字节的函数2.12.返回数组的函数2.13.连接字符串2.14.替换字符串2.15.反向字符串------------------------------1.VBA中的字符串VBA不仅可以处理数字,也可以处理文本(字符串)。VBA提供了两类
2、字符串:一类为固定长度的字符串,声明时包含指字的字符数。例如,下面的语句DimstrFixedLongAsString*100声明字符串变量后,无论赋予该变量多少个字符,总是只包含100个字符,但字符串最长不超过65526个字符,且需要使用Trim函数去掉字符串中多余的空格。定长字符串只有在必要时才使用。另一类为动态字符串。例如,声明字符串变量DimstrDynamicAsString后,可以给该变量任意赋值,最多可包含20亿个字符。------------------------------2VBA中处理字符串的函数2.1比
3、较字符串通常,在VBA中进行字符串比较时,会用到比较运算符(如=、>等)、Like运算符和StrComp函数。此外,在模块的开头用OptionCompare语句指定比较方式。2.1.1比较运算符可以采用简单的逻辑运算符进行两个字符串的比较,即<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、=(等于)、<>(不等于)。此外,还可以使用Like运算符进行比较。2.1.2StrComp函数StrComp函数返回字符串比较的结果。其语法为:StrComp(string1,string2[,compare])其中,参数s
4、tring1和strng2为必需的参数,可以是任何有效的字符串表达式。参数Compare为可选参数,如果该参数为Null,将发生错误。如果参数Compare设置为常数vbUseCompareOption或-1或忽略该参数,将使用OptionCompare语句设置进行比较;如果忽略该参数且没有设置OptionCompare语句,则按二进制进行比较;如果参数Compare设置为常数vbBinaryCompare或0,则用二进制进行比较;如果参数Compare设置为常数vbTextCompare或1,则按文本进行比较;如果参数Com
5、pare设置为常数vbDatabaseCompare或2,此时仅适用于MicrosoftAccess,进行基于数据库信息的比较。StrComp函数的返回值为:如果String1String2,则返回值为1;如果String1或String2为Null,则返回值为Null。看看下面的示例:SubtestStringCompare()DimMyStr1AsString,MyStr2AsString,MyComp1,MyComp2
6、,MyComp3,MyComp4MyStr1="ABCD"MyStr2="abcd"MyComp1=StrComp(MyStr1,MyStr2,1)'返回0MyComp2=StrComp(MyStr1,MyStr2,0)'返回-1MyComp3=StrComp(MyStr1,MyStr2)'返回-1MyComp4=StrComp(MyStr2,MyStr1)'返回1MsgBox"StrComp(MyStr1,MyStr2,1)的结果为:"&MyComp1MsgBox"StrComp(MyStr1,MyStr2,0)的结果为:"
7、&MyComp2MsgBox"StrComp(MyStr1,MyStr2)的结果为:"&MyComp3MsgBox"StrComp(MyStr2,MyStr1)的结果为:"&MyComp4EndSub示例说明:如果StrComp函数的第三个参数值为1,则以文本比较的方式进行字符串比较;如果第三个参数值为0或忽略该参数,则以二进制比较的方式进行字符串比较。注意,文本比较的方式不区分字母大小写,而二进制比较方式则区分大小写。[编程方法和技巧]完成一次简单的单一比较,如IfUCase(sString1)8、)Then比使用StrComp函数:IfStrComp(sString1,sString2,vbTextCompare)=-1Then在性能上要提高30%,且更容易阅读和理解。2.2转换字符串2.2.1StrConv函数使用StrConv函数来按指定类型转换字符串。其语法为: