Hi Ken,
>if a variable (not an expression or object.propery) is passed to it that doesn't exist, it would return "U" instead of causing a runtime error.
Well, VarType(_Screen.foo) returns "U", as well, and that's a property. OTOH, VarType(_Screen.ActiveForm) causes an error. I think, this is another reason for the confusion about VarType(). But the main problem, as I see it, is the documentation. Maybe you could have some influence on the wording and explain this behaviour a little more in detail (just as you did here in the thread). Is there already a KB article about VarType()? I think this would be a good idea.
Christof
--
Christof