VBA额外! :有没有办法在分隔符上拆分字符串而不使用Split()?

时间:2016-06-16 08:51:01

标签: arrays string vba split

我正在使用VBA而不是excel。

我知道在VBA for Excel上,您可以执行Split("String will be splitted")之类的操作并获取数组。

有没有办法在没有此功能的情况下执行拆分?因为我正在使用的VBA版本无法识别它。

谢谢。

2 个答案:

答案 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

您可以将集合创建和稍后的迭代组合到一个例程中,我已经分开来展示它是如何工作的。

相关问题