Well, if divined is using .NET, then Variant would throw an error right off the bat as it doesn't exist in .NET.

I'm going to guess that the code sample is a simplified representation of the real problem and that it isn't the actual code. Moreover, the variable is probably getting set to some value other than a numerical 2 and it's that value that is causing the error. Prime example why variants should be outlawed.

TG

PS: Bombdrop - CStr$ doesn't exist as a function in VB. Since by it's very nature, CStr returns a string, if you put $ on the end of it VB takes it right off.