Function SplitString(ByVal S As String, ByVal T As String) As String() Dim R() As String, n As Long, i As Long, j As Long, k As Long n = Len(S) - Len(Replace(S, T, "")) ReDim R(n) j = 1 For i = 0 To n k = InStr(j, S, T) If k > j Then R(i) = Mid(S, j, k - j) Else R(i) = Mid(S, j) End If j = k + 1 Next i SplitString = R End FunctionPrivate Sub Form_Load() Dim a() As String, i As Integer a = SplitString("aa|bb|cc|dd|ee", "|") For i = 0 To UBound(a) Debug.Print a(i) Next i End End Sub
redim preserve 数组
Function SplitString(ByVal S As String, ByVal T As String) As String()
Dim R() As String, n As Long, i As Long, j As Long, k As Long
n = Len(S) - Len(Replace(S, T, ""))
ReDim R(n)
j = 1
For i = 0 To n
k = InStr(j, S, T)
If k > j Then
R(i) = Mid(S, j, k - j)
Else
R(i) = Mid(S, j)
End If
j = k + 1
Next i
SplitString = R
End FunctionPrivate Sub Form_Load()
Dim a() As String, i As Integer
a = SplitString("aa|bb|cc|dd|ee", "|")
For i = 0 To UBound(a)
Debug.Print a(i)
Next i
End
End Sub