View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
David David is offline
external usenet poster
 
Posts: 1,560
Default VBA function : How to search a string in another string?

Hi,
This I think will work, but you will have to expand the case to cover all of
the state codes. It puts a 1 or 0 in ReturnValue, but it does not do anything
with it?:

Sub USCity()
TwoRight = Right(ActiveCell.Value, 2)
ThreeRight = Right(ActiveCell.Value, 3)
Left1 = Left(ThreeRight, 1)
If Left1 = " " Then
Select Case TwoRight
Case "NY"
ReturnValue = 1
End Select

Else
ReturnValue = 0
End If

End Sub

"bibi-phoque" wrote:

Hi all,
I am a beginner in VBA, and I need a function that return 1 or 0
depending if my string contains one of the US states.

To explain a bit more :

If my cell = "East Syracuse, NY"
I want to return 1 because there is a US state in the string.
If my cell = Karlsruhe, Germany
I want to return 0


I have a list of all the US states (2 letter code).
For the function, I don't mind if it is a big "if then" with all the
50 conditions (number of US states).

I am aware of the FIND function in Excel, which does what I need, but
the formula is too big (I need to compare with the 50 US states), it's
why I need a macro. And FIND is not a vba function...
One more thing : it has to be case sensitive.

Any help would be appreciated.

Thanks in advance,
Yann