有趣生活

当前位置:首页>科技>vba 字符类型 VBA字符串操作

vba 字符类型 VBA字符串操作

发布时间:2026-07-21阅读(3)

导读字符串处理是程序设计中最常见的操作在VBA中,既可以调用VBA函数,也可以调用Excel工作表函数来处理字符串,今天小编就来聊一聊关于vba字符类型VBA字....

字符串处理是程序设计中最常见的操作在VBA中,既可以调用VBA函数,也可以调用Excel工作表函数来处理字符串,今天小编就来聊一聊关于vba 字符类型 VBA字符串操作?接下来我们就一起去研究一下吧!

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-

Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图