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",怎么分?
'无法使用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
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
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
可以自己写一个函数: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
k="9" & " " & "8" & " " & "7" & " " & "6"
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
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
以下方式: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
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
2、返回为Varian类型,其实是一个数组