返回一个下标从零开始的一维数组,它包含指定数目的子字符串。语法Split(expression[, delimiter[, count[, compare]]])Split函数语法有如下几部分:部分 描述 
expression 必需的。包含子字符串和分隔符的字符串表达式 。如果expression是一个长度为零的字符串(""),Split则返回一个空数组,即没有元素和数据的数组。 
delimiter 可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的 expression字符串。 
count 可选的。要返回的子字符串数,–1表示返回所有的子字符串。 
compare 可选的。数字值,表示判别子字符串时使用的比较方式。关于其值,请参阅“设置值”部分。 
设置值compare参数的设置值如下:常数 值 描述 
vbUseCompareOption –1 用Option Compare语句中的设置值执行比较。 
vbBinaryCompare 0 执行二进制比较。 
vbTextCompare 1 执行文字比较。 
vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。 
Join函数
      描述返回一个字符串,该字符串是通过连接某个数组中的多个子字符串而创建的。语法Join(list[, delimiter])Join函数语法有如下几部分:部分 描述 
list 必需的。包含被连接子字符串的一维数组。 
delimiter 可选的。在返回字符串中用于分隔子字符串的字符。如果忽略该项,则使用空格(" ")来分隔子字符串。如果delimiter是零长度字符串(""),则列表中的所有项目都连接在一起,中间没有分隔符。 

解决方案 »

  1.   

    问题: 如何在字符串:"name;age;addr;sex" 中指定位置插入新字符串:"School",变为: "name;age;addr;school;sex"?
    解答: 先 Split,再 Join,可编写如下函数:
          Public Function InsertIntoString(StringX As String, i As Long, StringY As String, Optional Delimiter As String = " ") As String
                 'StringX 为原字符串,i 为第 i 个 ";",'StringY 为要插入的字符串,'Delimiter 为分隔符
                 Dim a() As String
                 a = VBA.Split(VBA.Trim(StringX), Delimiter)
                 If i < LBound(a) + 1 Then
                    a(LBound(a)) = StringY & Delimiter & a(LBound(a)) '插在最前
                 ElseIf i > UBound(a) + 1 Then
                    a(UBound(a)) = a(UBound(a)) & Delimiter & StringY '插在最后
                 Else
                    a(LBound(a) + i - 1) = a(LBound(a) + i - 1) & Delimiter & StringY '插在中间
                 End If
                 InsertIntoString = VBA.Join(a, Delimiter)
          End Function
          Private Sub Command1_Click() '测试程序
                  VBA.MsgBox InsertIntoString("name;age;addr;sex", 0, "school", ";") '插在最前
                  VBA.MsgBox InsertIntoString("name;age;addr;sex", 1, "school", ";") '插在中间
                  VBA.MsgBox InsertIntoString("name;age;addr;sex", 9, "school", ";") '插在最后
          End Sub
      

  2.   

    Dim A(2) 
    A(0)="a"
    A(1)="b"
    A(2)="c"Debug.print Join(A(2),"/")    '结果:  a/b/c
    '用 符号/ 连接 数组
    ==============================================
    Dim strTest As String
    Dim A
    strTest = "a/b/c"
    A = Split (strTest,"/")print A(0)   
    print A(1)
    print A(2)   '结果 :c