Excel VBA高级编程:替换字符串的部分内容

发布: 2009-2-04 11:15  作者: 网络转载  查看: 8632次 共有0条评论

:替换字符串的部分内容

Mid语句:替换字符串的部分内容

是的,你没有看错,我是说Mid语句,而不是Mid函数。
让我们看一个例子。
已知:字符串s="12345",整数i=2
要求:将s的第i个字符替换为"d"
通常的方法(Mid函数):
  s=left(s,i-1) & "d" & mid(s,i+1)
Mid语句的方法:
  Mid(s, i, 1) = "d"
下面我们来看看帮助中介绍的的Mid语句

Mid 语句
在一 Variant (String) 变量中以另一个字符串中的字符替换其中指定数量的字符。
语法
Mid(stringvar, start[, length]) = string
stringvar 必要参数。被更改的字符串变量名。
start 必要参数;Variant (Long)。stringvar 中被替换的字符开头位置。
length 可选参数;Variant (Long)。被替换的字符数。如果省略,string将全部用上。
string 必要参数。字符串表达式,替换部分 stringvar 的址?
说明
被替换的字符数量总是小于或等于 stringvar 的字符数。
示例
Sub UseMid()
  Dim s$
  s = "12345"
  Mid(s, 2, 1) = "d"
  Debug.Print s '1d345 --替换1个字符,第2个字符被替换为d
  s = "12345"
  Mid(s, 2, 1) = "df"
  Debug.Print s '1d345 --只替换1个字符,第2个字符被忽略
  s = "12345"
  Mid(s, 2, 2) = "df"
  Debug.Print s '1df45 --替换2个字符
  s = "12345"
  Mid(s, 5, 1) = "df"
  Debug.Print s '1234d --只替换1个字符,第2个字符被忽略
  s = "12345"
  Mid(s, 5, 2) = "df"
  Debug.Print s '1234d --只替换1个字符,第2个字符超出s长度,被忽略
  s = "12345"
  Mid(s, 6, 1) = "d" '出错 --6超出s长度
  Debug.Print s
End Sub
相关
简单的介绍一下相关的三个函数,也许你已经对它们很熟悉了,我写在这儿的目的只是让这段文字看起来更完整。关于它们的具体细节,请参考帮助文档。
1.Mid函数
语法:Mid(string, start[, length])
返回从字符串string的start位置取出的指定长度length的字符,如省略length或length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到尾端的所有字符。
2.Right函数
语法:Right(string, length)
3.Left函数
语法:Left(string, length)
后面两个函数分别返回字符串string右(左)边取出的指定数量length的字符。

 

相关阅读
大家对 Excel VBA高级编程:替换字符串的部分内容 的评论
最新PPT教程
最新评论
PPT问答