我的目标: 让中国的大学生走出校门的那一刻就已经具备这些Office技能,让职场人士能高效使用Office软件为其服务。支持我,也为自己加油!
今天分享下用VBA处理字符串时常用的函数:
Sub test()
s = "ab-CD-ef-gh"
'1、求字符串的字符长度
Debug.Print Len(s)
'2、求字符串的字节长度
Debug.Print LenB(s)
'3、小写转换为大写
Debug.Print UCase(s)
'4、大写转换为小写
Debug.Print LCase(s)
'5、提取字符串前两位字符
Debug.Print Left(s, 2)
'6、提取字符串后两位字符
Debug.Print Right(s, 2)
'7、提取字符串中第一个横杠后的两位字符
Debug.Print Mid(s, 4, 2)
'8、查找第一个横杠在字符串位置
Debug.Print InStr(s, "-")
'9、从第四个位置开始查找,查找横杠在字符串中的位置
Debug.Print InStr(4, s, "-")
'10、查找最后一个横杠在字符串位置
Debug.Print InStrRev(s, "-")
'11、把字符串中的横杠替换为顿号
Debug.Print Replace(s, "-", "、")
'12、按照横杠拆分字符串
ar = Split(s, "-") 'ar为数组,为拆分后所得的四个字符串元素
'13、删除字符串两端的空格,如果要删除所有的空格可以用replace
Debug.Print Trim(" abc d efg ")
'14、将数字转为文本
Debug.Print str(123)
End Sub比较两个字符串常用LIKE函数:
Sub test1()
MyCheck = "aBBBa" Like "a*a" ' Returns True.
MyCheck = "F" Like "[A-Z]" ' Returns True.
MyCheck = "F" Like "[!A-Z]" ' Returns False.
MyCheck = "a2a" Like "a#a" ' Returns True.
MyCheck = "aM5b" Like "a[L-P]#[!c-e]" ' Returns True.
MyCheck = "BAT123khg" Like "B?T*" ' Returns True.
MyCheck = "CAT123khg" Like "B?T*" ' Returns False.
MyCheck = "ab" Like "a*b" ' Returns True.
MyCheck = "a*b" Like "a [*]b" ' Returns False.
MyCheck = "axxxxxb" Like "a [*]b" ' Returns False.
MyCheck = "a [xyz" Like "a [[]*" ' Returns True.
MyCheck = "a [xyz" Like "a [*" ' Throws Error 93 (invalid pattern string).
End Sub
pattern 中允许使用的字符以及它们的匹配项: | |
pattern 中的字符 | string 的匹配项 |
? | 任意单个字符。 |
* | 零个或多个字符。 |
# | 任何单个数字 (0-9) 。 |
[ charlist ] | charlist 内的任意单个字符。 |
[ !charlist ] | charlist 外的任意单个字符。 |