how pass array to a function?
For n = 1 to 9
If Array(n) = x then MyFunction = True
Next
Hi. Would this idea help?
Sub TestIt()
Dim v
v = Array(1, 2, 3, "Cat", 4, 5)
Debug.Print MemberQ(6, v) 'Is 6 in v?
Debug.Print MemberQ(4, v)
Debug.Print MemberQ("Dog", v)
Debug.Print MemberQ("Cat", v)
End Sub
Returns:
False
True
False
True
Function MemberQ(x, M) As Boolean
'// Is x a member of Array M ?
On Error Resume Next
MemberQ = WorksheetFunction.Match(x, M, 0) 0
End Function
= = = = = = = = = =
HTH :)
Dana DeLouis
On 3/19/2010 1:44 AM, John wrote:
I sort of assumed I had dimmed the array and filled it with values
before the function.
So: Dim Array(9) as long
Dim n as long
For N = 1 to 9
Array(n)=n
Next
The following creates and error. Also if i just use the Array(9) in the
function it creates and error.
Public Function MyFunction(x as long,Array() as long) as Boolean
Dim n as Long
MyFunction=False
For n = 1 to 9
If Array(n) = x then MyFunction = True
Next
End Function
I'm not sure if what you suggested gets around that. Or are you saying I
just can't include that array inside the function period?
John
Dennis Tucker wrote:
Do not pass an array!
The key here is the "Scope of Variables".
At the top of the module, not inside any Sub or Function, put the
declaration of the array.
Dim MyArray(3,35) as string (just an example)
Now MyArray() has a wider scope. The scope in this case is the current
module(or userform).
For even wider scope use this
Public MyArray(3,35) as string (just an example)
The scope in this case is the current project(all userforms and
modules inside the current project.
Dennis
"John" wrote in message
...
If you have an Array, say Array(9), how do you pass that information
for a function to use?
For example:
Public Function MyFunction(x as long) as Boolean
Dim n as Long
MyFunction=False
For n = 1 to 9
If Array(n) = x then MyFunction = True
Next
End Function
I know you can't have Public Function MyFunction(x as Long, Array()
as long) as Boolean"
But there has to be some way for public functions to access arrays
outside the function doesn't there?
Thanks
John
--
= = = = = = =
HTH :)
Dana DeLouis
|