View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Ron Rosenfeld Ron Rosenfeld is offline
external usenet poster
 
Posts: 5,651
Default Looking for String Function

On Thu, 9 Nov 2006 10:11:02 -0800, Chaplain Doug
wrote:

Excel 2003. What VBA string function(s) can I use to accomplish the following:

I want to pass a string that may or may not contain a telephone number. I
want to check to see if it is indeed a telephone number. That is, I want to
check to see if the string contains only telephone type info (i.e.,
0123456789()- ) or conversely, I want to check if the string contains
non-telephone type info (i.e., alpha). How can I accomplish this? Thanks
for any help.


You can either check things they way you describe. You would loop through each
character in the text string and test it:

======================
Const sAllow As String = "[- 0-9()]"
Dim i As Long
Dim sTest As String

For i = 1 To Len(sTest)
If Not Mid(sTest, i, 1) Like sAllow Then
TelNo = False
Exit (function or sub)
End If
Next i

TelNo = True
========================

Or you could construct a more complex test to better define exactly what a
valid phone number might consist of.

For example, some valid phone numbers might be:

123-4567
123 4567
1234567
1-123-4567
1-603-123-4567
1(123) 456-7890

and maybe even

1 123 456 7890 x 1234

But something like

1234 would not be a valid phone number

And if you are not in the US, there may be even more variations.
--ron