View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Using Excel functions in VBA

No all worksheet functions are available in VBA. For a list, look the
Worksheetfunction object in the VBA object brower.

The WorksheetFunction Object was introduced in xl97. Before that, you just
used application as the prefix. So this is still supported.

The behavior of some functions is different when using Worksheetfunction as
a qualifier. For example, with Match and the lookup functions, if the
function would normally return a #N/A type results, then with the
worksheetfunction qualifier, they will raise a trappable error. Using just
application, the return the VBA equivalent of the #N/A (cvErr(xlErrNA))
and the results can be checked with the VBA function IsError

--
Regards,
Tom Ogilvy

"alistre" wrote in message
ups.com...
I wrote the following code in VBA. This worked fine.

Range("C30").Value = Application.Index(Range("A1:I18"), "13",
"6")

I compared this code to the one below which is similar in format. Am I
correct in assuming in order to codify an Excel function in VBA all you
have to do is Add the prefix "Application." to the function name
followed by parenthesis and the internal variables? I assumed this
when writing the following code that yielded an error. When I ran the
code a dialog popped up stating "Object doesn't support this Property
or Method".

Range("C27").Value = Application.Address(Range("C26").Value, "4",
"4")

Perhaps the function "Address" was not recognized in VBA.

Although the "Application." prefix worked in the first line of code, I
thought one had to write "Application.WorksheetFunction." preceding the
actual excel function in order to codify the function. Would someone
please clarify?