Option Explicit
Private Sub Form_Click()
 Dim j() As String, k As Integer
  k = 9876
  j = Split(k)
  Debug.Print j(0)
End Sub我想用split函数把k分成 "9 8 7 6"而不是"9876",怎么分?

解决方案 »

  1.   

    就是像字符串一样,把9赋值给j(0),把8赋值给j(1),把7赋值给j(2),把6赋值给j(3)!
      

  2.   

    没有分隔符的字符串无法使用split函数。建议一个字符一个字符的读取然后赋值给数组或者首先插入分隔符。
      

  3.   


    k="9" & " " & "8" & " " & "7" & " " & "6"
      

  4.   

    '无法使用split函数
    Option Explicit
    Private Sub Form_Click()
      Dim K, i, s, S1
      K = 9876
      For i = 1 To Len(K)
      s = " " & Mid(K, i, 1)
      S1 = S1 & s
     Next
     MsgBox Trim(S1)
    End Sub
      

  5.   

    Option Explicit
    Private Sub Form_Click()
      Dim k As Integer, i As Integer, aa As String, bb As String
      k = 9876
      'j = Split(k) 9876是连着的,你没有特定的字符是没法用 split的,硬要分,你也只能得到 j(0), 值为9876
      aa = CStr(k)
      bb = ""
      For i = 1 To Len(aa)
         bb = bb & Mid(aa, i, 1) & " "
      Next i
      bb = Trim(bb)
      MsgBox bb
    End Sub
      

  6.   

    split函数不能把串分解成x x x x
    以下方式:Option Explicit
    Private Sub Command1_Click()
      Dim j() As String, k As Integer
      Dim i As Integer, n As Integer  k = 9876
      n = Len(CStr(k))
      ReDim j(n)
      For i = 1 To n
          j(i - 1) = Mid(k, i, 1)
      Next 
      Debug.Print j(0), Join(j)
    End Sub
      

  7.   

    可以自己写一个函数:function SplitNum(byval n as long) as string()
        
        dim i As Long
        
        i=len(cstr(n))-1
        redim arr(i) as string
        do while n>0
            arr(i)=n mod 10
            n=n\10
            i=i-1
        loop
        SplitNum=arr
        
    end function
    '调用:
    Private Sub Form_Click()
        Dim j() As String, k As Integer
        k = 9876
        j = SplitNum(k)
        Debug.Print j(0)
    End Sub
      

  8.   

    1、split针对的有分隔符的字符串才可以分隔;
    2、返回为Varian类型,其实是一个数组