VBA字符串函数,你想学的都在这里
字符串函数合集
1提取字符/字符串、提取字符串长度
1.1 Left函数left(字符串,长度) :从[字符串]的左边开始返回[长度]个字符
例如: Left("欢迎你关注我",3) 则返回 "欢迎你"
1.2 Right函数
vba计算字符串长度right(字符串,长度)  : 从[字符串]的右边开始返回[长度]个字符
例如 Right("欢迎你关注",3) 则返回 "你关注"
1.3 Mid函数
mid(字符串,从第几个开始,长度)  : 在[字符串]中[从第几个开始]取出[长度个字符串]
例如 mid("欢迎你关注",1,3) 则返回 "欢迎你"
1.4 LTrim/RTrim/Trim函数
LTrim函数: 删除字符串前面的空格;RTrim函数: 删除字符串后面的空格;Trim函数: 删除两头的空格。
例如: trim("  欢迎关注  ") 则返回 "欢迎关注" ,中间的空格不受任何影响
1.5 Len函数
len(字符串) : 返回[字符串]的长度
例如: len("欢迎你关注") 则返回 5
2创建字符串
2.1 Space函数
space(个数) :返回[个数]个空格
例如 space(5) 则返回 "
如下例所示:
Sub CreateString1()
Dim MyString' 返回 5 个空格的字符串。  MyString = Space(5)  ' 将 5 个空格插入两
个字符串中间。  MyString = "Hello" & Space(5) & "World"End Sub
2.2 string函数
string(个数,字符)  :返回[个数]个[字符]
例如: string(3,"小") 则返回 "小小小"
注意:
① string(3,"你好世界") 也返回 "你你你",只有首字符才有效
②字符可以指定为字符串或者是ANSI字符代码
例如,下面使用String函数生成指定长度且只含单一字符的字符串。
Sub test()  Dim MyString  MyString = String(5, "*")    ' 返回 "*****"  MyString =
String(5, 43)    ' 返回 "+++++" '43为ANSI字符代码  MyString = String(10, "ABC")    '
返回 "AAAAAAAAAA"End Sub
3转换字符串
3.1 asc函数
asc(字符):返回[字符]的ASCII编码,若有多个字符,则只返回首字符的ascii编码,和Chr()函数是一个可逆的过程
例如 asc("你") 则返回-15133 ; asc("你好世界") 也返回 -15133
3.2 Chr函数
chr(ASCII编码):  返回[ASCII]编码所代表的字符,和ASC()函数是一个可逆的过程
例如 chr(-12127) 则返回 "小" ;chr(asc("小")) 则返回"小"(这里是为了说明asc和chr的可逆性,例用此特性可以加密文本)
3.3 StrConv函数
StrConv函数: 使用StrConv函数来按指定类型转换字符串。
语法:  StrConv(string,conversion,LCID)
其中,参数string为要转换的字符串,参数conversion为指定转换的类型,参数LCID为可选参数。将参数conversion设置为vbUpperCase或1,则将字符串转换成大写;(常用)
将参数设置为vbLowerCase或2,则将字符串转换成小写;(常用)
将参数设置为vbProperCase或3,则将字符串中每个字的开头字母转换成大写;
将参数设置为vbUnicode或64,则根据系统的缺省码页将字符串转换成Unicode;
将参数设置为vbFromUnicode或128,则将字符串由Unicode转换成系统的缺省码页。
下面的例子将句子中每个词语的首字母转换为大写:
Sub testConverseString2()  Debug.Print StrConv("my book is this book.",
vbProperCase)End Sub
3.4  Ucase/Lcase函数
Ucase(字符串):  返回[字符串]的大写形式,只对英文字符有效
例如: ucase("nihaoSHijie") 则返回 "NIHAOSHIJIE"
Lcase(字符串):  返回[字符串]的小写形式,只对英文字符有效
例如:  lcase("NIhAOshiJie") 则返回 "nihaoshijie"
4查/替换字符串
4.1 instr函数/ InStrRev函数
instr(从第几个开始,字符串1,字符串2) :从规定的位置开始查,返回字符串2在字符串1中的位置
例如:  instr(1,"你好世界","你") 则返回 1,instr(2,"你好世界","你"),则返回 0 。 0 表示未到 InStrRev函数:与InStr函数不同的是,从字符串的末尾算起。
4.2 Replace函数
Replace函数:返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。
语法:Replace(expression, find, replace[, start[, count[, compare]]])
Replace函数语法有如下命名参数:expression 必需的。字符串表达式,包含要替换的子字符串。 find 必需的。要搜索到的子字符串。 replace 必需的。用来替换的子字符串。 start 可选的。在表达式中子字符串搜索的开始位置。如果忽略,假定从1开始。 count 可选的。子字符串进行替换的次数。如果忽略,缺省值是 –1,它表明进行所有可能的替换。 compare 可选的。数字值,表示判别子字符串时所用的比较方式。
实例:
Sub tihuan()
Str1 = "你好@世界@"
Str2 = Replace(Str1, "@", "")  '将str1中的@替换为空,Str2结果为“你好世界”
End Sub
欢迎点赞、关注、转发。
在这个寒冷的时节里
因为有你的关注
而变得温暖

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。