我正在使用VBA而不是excel。
我知道在VBA for Excel上,您可以执行Split("String will be splitted")
之类的操作并获取数组。
有没有办法在没有此功能的情况下执行拆分?因为我正在使用的VBA版本无法识别它。
谢谢。
答案 0 :(得分:1)
我假设您使用的是早期版本的Excel,其中Split不存在,@ Meehow和@Nathan_Sav是正确的,您最好自己编写,我使用mid
等命令,{ {1}}。
没有等价物,只是一种制作等效物的方法。
见下面的等价物: -
instr
答案 1 :(得分:1)
类似这样的东西,返回一个集合,因为不想编写所有用于重新整理o / p数组的if。
Public Sub testing()
Dim c As New Collection
Set c = New_Split("test split function", " ")
End Sub
Public Function New_Split(strInput As String, strDelimiter As String) As Collection
Dim colDelimitPoints As New Collection
Dim intCounter As Integer
Dim intPrevPoint As Integer
For intCounter = 1 To Len(strInput)
If Mid(strInput, intCounter, 1) = strDelimiter Then
colDelimitPoints.Add intCounter, CStr(intCounter)
End If
Next intCounter
intPrevPoint = 1
Set New_Split = New Collection
For Each i In colDelimitPoints
New_Split.Add Mid(strInput, intPrevPoint, (i - intPrevPoint))
intPrevPoint = i + 1
Next i
End Function
您可以将集合创建和稍后的迭代组合到一个例程中,我已经分开来展示它是如何工作的。