View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Bob Phillips[_6_] Bob Phillips[_6_] is offline
external usenet poster
 
Posts: 11,272
Default Can't figure out passing and returning arrays

Sub CompareLabels(str1 As String)
Dim strWords1() As String
strWords1 = Split(str1)
End Sub


--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Dave B" wrote in message
oups.com...
I'm trying to make my function return an array of strings and can't
seem to get it to work. I get Error 9, subscript out of range. The
error occurs on the line "strArray(i) = str"
Here is the relevant part of the code:

Sub CompareLabels(str1 as String)
Dim strWords1() As String
strWords1 = MakeArrayOfWords(str1)
End Sub

Private Function MakeArrayOfWords(ByVal str As String) As String()

Dim i As Integer, intSpace As Integer, intLength As Integer,
strArray() As String
If str < "" Then
Do
i = i + 1
intSpace = InStr(1, str, " ", vbTextCompare)
If intSpace 0 Then
strArray(i) = Left(str, intSpace)
intLength = Len(str) - intSpace
str = Right(str, intLength)
Else
strArray(i) = str
End If
Loop Until intSpace = 0
MakeArrayOfWords = strArray
End If

End Function


Can anyone help? Thanks.

P.S. I suck at working with arrays.