View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
Arvi Laanemets Arvi Laanemets is offline
external usenet poster
 
Posts: 510
Default Excel2000: Declaring function parameter as an array

Thanks both Tom and Jim

Then I have to use Nothing as default value and replace it with an array in
code. (I don't like it at all!)

--
When sending mail, use address arvil<attarkon.ee
Arvi Laanemets


"Jim Cone" wrote in message
...
Arvi,

The help file for "Function Statement" says...
"default value" Optional.
Any constant or constant expression. ***
Valid for Optional parameters only.
If the type is an Object, an explicit default value can only be Nothing.

So the following works...
Function Test(ByRef Arg As String, Optional varArr As Variant = 7)

but this will not...
Function Test(ByRef Arg As String, Optional varArr As Variant = array(1,

7))

Regards,
Jim Cone
San Francisco, USA



"Arvi Laanemets" wrote in message
...
Hi
What must be the syntax, to declare a function with a variant parameter

with
array default value (parameter Weekends in example below).
... Optional Weekends As Variant = {1,7}.. returns function header to

red
immediately, the syntax in example below returns an error "Constant
expression required", when the function is called.
[The parameter must be variant, as it can be an array, a cell reference,

or
an integer between 0 and 7. I.e. valid syntax for worksheet function

will
be: =EnchWorkdaysN(Date1, Date2, ,{1;6;7}) , or =EnchWorkdaysN(Date1,

Date2,
,$S$1:$Z$1) , or =EnchWorkdaysN(Date1, Date2, ,WorkdaysList) , or
=EnchWorkdaysN(Date1, Date2, ,7), or =EnchWorkdaysN(Date1, Date2) ,

etc.]

Public Function EnchWorkdaysN(StartDate As Date, _
EndDate As Date, _
Optional Holidays As Variant = Nothing,

_
Optional Weekends As Variant = Array(1,

7))
Thanks in advance