vba 字符类型 VBA字符串操作
字符串处理是程序设计中最常见的操作在VBA中,既可以调用VBA函数,也可以调用Excel工作表函数来处理字符串,今天小编就来聊一聊关于vba 字符类型 VBA字符串操作?接下来我们就一起去研究一下吧!
vba 字符类型 VBA字符串操作
字符串处理是程序设计中最常见的操作。在VBA中,既可以调用VBA函数,也可以调用Excel工作表函数来处理字符串。
1 大小写转换Sub 大小写字母转换()
Dim str1, strLower, strUpper
str1 = "Hello Excel 2013 VBA" ' 要输送的字符串
strLower = LCase(str1) ' 返回" hello excel 2013 vba"
strUpper = UCase(str1) ' 返回" HELLO EXCEL 2013 VBA"
Debug.Print strLower
Debug.Print strUpper
End Sub
Sub 字符转换()
Dim str1, strLower, strUpper, strProper
str1 = "Hello Excel 2013 VBA" ' 要输送的字符串
strLower = StrConv(str1, vbLowerCase) ' 返回" hello excel 2013 vba"
strUpper = StrConv(str1, vbUpperCase) ' 返回" HELLO EXCEL 2013 VBA "
strProper = StrConv(str1, vbProperCase) ' 返回" Hello excel 2013 vba "
Debug.Print strLower
Debug.Print strUpper
Debug.Print strProper
End Sub
2 字符编码Sub 查询字符编码()
Debug.Print "字符A的编码:" & Asc("A") ' 返回 65
Debug.Print "字符a的编码:" & Asc("a") ' 返回 97
Debug.Print "字符串Excel的编码:" & Asc("Excel") ' 返回 69
End Sub
Sub 生成字符()
Debug.Print "编码65对应的字母:" & Chr(65) ' 返回 A
Debug.Print "编码97对应的字母:" & Chr(97) ' 返回 a
Debug.Print "编码69对应的字母:" & Chr(69) ' 返回 E
Debug.Print "编码37对应的字母:" & Chr(37) ' 返回 %
End Sub
3 字符串比较Sub 使用like比较字符串()
Debug.Print """aBBBa"" Like ""a*a""的结果为:"; "aBBBa" Like "a*a" ' 返回 True"
Debug.Print """F"" Like ""[A-Z]""的结果为:"; "F" Like "[A-Z]" ' 返回 True
Debug.Print """F"" Like ""[!A-Z]""的结果为:"; "F" Like "[!A-Z]" ' 返回 False
Debug.Print """a2a"" Like ""a#a""的结果为:"; "a2a" Like "a#a" ' 返回 True
Debug.Print """aM5b"" Like ""a[L-P]#[!c-e]""的结果为:"; "aM5b" Like "a[L-P]#[!c-e]" ' 返回 True
Debug.Print """BAT123khg"" Like ""B?T*""的结果为:"; "BAT123khg" Like "B?T*" ' 返回 True
Debug.Print """CAT123khg"" Like ""B?T*""的结果为:"; "CAT123khg" Like "B?T*" ' 返回 False
End Sub
运行结果:
"aBBBa" Like "a*a"的结果为:True
"F" Like "[A-Z]"的结果为:True
"F" Like "[!A-Z]"的结果为:False
"a2a" Like "a#a"的结果为:True
"aM5b" Like "a[L-P]#[!c-e]"的结果为:True
"BAT123khg" Like "B?T*"的结果为:True
"CAT123khg" Like "B?T*"的结果为:False
Sub 使用StrComp比较字符串()
Dim str1, str2, MyComp
str1 = "ABCD"
str2 = "abcd"
Debug.Print StrComp(str1, str2, 1) ' 返回 0
Debug.Print StrComp(str1, str2, 0) ' 返回 -1
Debug.Print StrComp(str2, str1) ' 返回 1
End Sub
4 截取子串Sub 取左侧子串()
Dim str1 As String
str1 = "Hello Excel 2013 VBA" ' 定义字符串
Debug.Print Left(str1, 1) ' 返回"A"
Debug.Print Left(str1, 7) ' 返回"Hello E"
Debug.Print Left(str1, 30) ' 返回"Hello Excel 2013 VBA"
End Sub
Sub 取右侧子串()
Dim str1 As String
str1 = "Hello Excel 2013 VBA" ' 定义字符串
Debug.Print Right(str1, 1) ' 返回"A"
Debug.Print Right(str1, 7) ' 返回"010 VBA "
Debug.Print Right(str1, 30) ' 返回"Hello Excel 2010 VBA"
End Sub
Sub 获取部分子串()
Dim str1 As String
str1 = "Hello Excel 2013 VBA" ' 定义字符串
Debug.Print Mid(str1, 1, 5) ' 返回"Hello"
Debug.Print Mid(str1, 7, 5) ' 返回"Excel"
Debug.Print Mid(str1, 7) ' 返回"Excel 2013 VBA"
End Sub
Sub 删除字符串两侧空格()
Dim str1 As String, str2 As String
str2 = "end" '用来定位属部空格的位置
str1 = " Hello Excel 2013 VBA " ' 定义字符串(首尾各有两个空格)
Debug.Print "123456789012345678901234567890" '显示坐标
Debug.Print Trim(str1); str2
Debug.Print LTrim(str1); str2
Debug.Print RTrim(str1); str2
End Sub
Sub 搜索子串位置()
Dim str1 As String
str1 = "Hello Excel 2013 VBA"
Debug.Print InStr(str1, "e")
Debug.Print InStr(3, str1, "e")
Debug.Print InStr(3, str1, "e", vbTextCompare)
End Sub
-End-
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com