The problem is that Application.Caller is not an error, it is a double value
(unless it is assigned to another variable; see my other post in this thread).
Matthew Pfluger
"Bob Phillips" wrote:
> Maybe
>
> If IsError(Application.Caller) Then
> MsgBox "VBA"
> Else
> MsgBox "Excel"
> End If
>
>
> --
> HTH
>
> Bob
>
> (there's no email, no snail mail, but somewhere should be gmail in my addy)
>
> "Matthew Pfluger" <(E-Mail Removed)> wrote in
> message news:0C167F40-4FC5-4782-A3F7-(E-Mail Removed)...
> > I'm trying to use Application.Caller to determine if VBA or a cell has
> > called
> > my UDF. However, when called from the worksheet in a particular UDF,
> > Application.Caller = -1711800260 and its TypeName is Double. However,
> > when I
> > send Application.Caller to an IsRange function, it is passed as a valid
> > range.
> >
> > When I type in the Immediate window Application.Caller.Columns.Count, it
> > returns the 'Object Required' error. I don't understand it. Has anyone
> > else
> > had this problem/
> >
> > Thanks,
> > Matthew Pfluger
>
>
>
|