A slightly more slower, but shorter one that uses the same technique. Replace the line in the HasNumber function with the following. Note: Though it looks shorter, the original code should be faster. Having said that, if the data isn't too large, then the difference should be very minimal.
Code:
HasNumber = Evaluate("MAX(IFERROR(FIND(ROW(1:10)-1,""" & varValue & """),0))")
EDIT: Note that this will only work in Excel 2007 and above because I've used the IFERROR function. If you are familiar with formulas, and you want to make it compatible with Excel 2003 and before, just modify the above formula. Post back in case you are using an older version of Excel, not sure how to edit the formula I've used.
Bookmarks