View Single Post
  #11   Report Post  
Posted to microsoft.public.excel.programming
Bob Phillips Bob Phillips is offline
external usenet poster
 
Posts: 10,593
Default Call sub with array

As far as I can see it is just sorting the data. Are you sure that you
aren't getting confused with your post on MrExcel?

--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)



"Arne Hegefors" wrote in message
...
Hi! Thank you very much for all your help! I would never I have solved it
myself! Your code works fine but I have final question. If all the cells
that
I am taking in as argument in the main function are empty or non valid
then I
get an error message in the Excel sheet. However I would like to display
"n/a". The variable k keeps track of the number of valid cells but I have
not
managed to solve it but simply writing

if k = 0 then
basel = "n/a"
end if

If anyone could help me with this I would be most grateful. Again thanks
for
all your help!!!

"Bob Phillips" skrev:

A littel bit more than that, it was

For X = 1 To UBound(TheArray)

to

For X = LBound(TheArray) To UBound(TheArray)-1



--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my
addy)



"Vergel Adriano" wrote in
message
...
Never mind. I misread your post. Bob's code worked.

In case you missed what he changed, change this line in your code:

For X = LBound(TheArray) To UBound(TheArray)

to like this

For X = LBound(TheArray) To UBound(TheArray)-1



--
Hope that helps.

Vergel Adriano


"Vergel Adriano" wrote:

Hi Arne,

Give this a try.

Change your function declaration to become like this:

Function SortArray(ByVal TheArray As Variant) as Variant

Then, before the "End Function" line, put this line:

SortArray = TheArray

To use your new function, you do something like this

A = SortArray(A)
basel = A(2)


--
Hope that helps.

Vergel Adriano


"Arne Hegefors" wrote:

Hi! I have a problem with an array that I have in a udf. I send the
array to
another udf in order to sort the array. Somewhere there it goes
wrong
and the
code stops.
..
Call SortArray(A)
basel = A(2)

End Function
...
Function SortArray(ByRef TheArray As Variant)
Sorted = False
Do While Not Sorted
Sorted = True
For X = 1 To UBound(TheArray)
If TheArray(X) TheArray(X + 1) Then
Temp = TheArray(X + 1)
TheArray(X + 1) = TheArray(X)
TheArray(X) = Temp
Sorted = False
End If
Next X
Loop
End Function

The sorting seems to work just fine but the code never goes back to
the
line
basel = A(2). Instead it goes back to the line before the Call
SortArray. I
have no idea what is wrong. Please if anyone can help me! Thanks a
lot!