I need to do a simple compare on two values (Integers), but as both parts are possibly a number of different types it means that I have to first convert it to integer.

This isn't a great big hassle, but it does mean for a lot of code.

Ideally what I want to do is be able to pass 2 "things" to a function as variants and have the function convert and then compare (thing=thing) returning True/False

I can get it to convert the string to Integer, "if Vartype(a) = vbInteger" and the same for string, how can i check to see weather the input(s) are ranges?

Possible inputs are:
1 - Integer
"1" - Integer stored as String
"C1" - String (needs to have "C" removed)

And these can be passed as themselves, or as a range, where the data is taken from Range.Cells(1,1).Value

Can anyone assist? Have been looking for something like an "isrange" operator but no luck

Thanks