View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
ExcelMonkey ExcelMonkey is offline
external usenet poster
 
Posts: 553
Default Pass multiple characters to a string variable

As always Bob, you the man!

Thanks

"Bob Phillips" wrote:

I may be mis-understanding, but you seem to want to have multiple separators
for split.

Does this do what you want?

Function functionseparator(str As String) As String
Dim Operators
Dim temp
Dim i As Long
Dim iPos As Long
Dim iStart As Long

Operators = Array("+", "/", "*","^")

iStart = 1
ReDim temp(1 To 1)
For iPos = 1 To Len(str)
For i = LBound(Operators) To UBound(Operators)
If Mid(str, iPos, 1) = Operators(i) Then
itemp = itemp + 1
ReDim Preserve temp(1 To itemp)
temp(itemp) = Mid(str, iStart, iPos - iStart)
iStart = iPos + 1
Exit For
End If
Next i
Next iPos
ReDim Preserve temp(1 To itemp + 1)
temp(itemp + 1) = Mid(str, iStart, iPos - iStart)
functionseparator = temp(UBound(temp) - 1)

End Function


--
HTH

Bob Phillips

"ExcelMonkey" wrote in message
...
I have a function that I am using below. I want to be able to pass all

the
operators to the variable Operators (i.e.Operators = "+" & "-" & "/" & "*"

&
"^"). However when I do this, the function fails. It only works when I

pass
one character to the variale. How I do pass more than one character to

this
variable and then have it work proplerly in the Split function? Thanx

Function functionseparator(str As String) As String
Dim Operators As String
Dim temp

Operators = "+"

temp = Split(str, Operators)
functionseparator = temp(UBound(temp) - 1)

End Function