String Arrays
I need a utility that has to do an enormous number of string comparisons in
arrays based on a text file. Ive written something in VBA that does what I
need but it is painfully slow. I think the bulk of the time is spent on the
string searching itself.
This is the function Im using:
pblic Function SequentialSearchStringArray(ByRef sArray() As String, ByVal
sFind As String) As Long
Dim i As Long
Dim iLBound As Long
Dim iUBound As Long
Dim astrFilter() As String
'Quick check - filter the current array to see if the value matches.
astrFilter = Filter(sArray, sFind)
'Unfortuantly this doesn't tell us where the match is so we then have to
do a search to find it
If UBound(astrFilter) < 0 Then
SequentialSearchStringArray = -1
Else
iLBound = LBound(sArray)
iUBound = UBound(sArray)
For i = iLBound To iUBound
If sArray(i) = sFind Then SequentialSearchStringArray = i: Exit
Function
Next i
End If
Can anyone come up with a way of really speeding this up? Is there a way of
treating each string as array of ints or something rather than doing the
endless casting. Ideas, code re-writes etc, greatly appreciated.
|