Actually, he shows two blank spaces after the state abbreviation; that is, I
see this...
<city><comma><space><state abbrev><space><space><zip code>
And you could also use regular expressions (of course).
The code is longer, but it took me a fraction of the time to generate.
It relies only on the <comma> and the fact that there are three segments.
Segment 1 is everything up to the <comma>
Segment 2 is the second string
Segment 3 is the third string, which must be digits
(The 2nd and 3rd strings could be separated by an optional <comma>, for
example).
It would also be trivial to include error checking of various types, if needed.
===============
Option Explicit
Sub foo()
Const sAdr As String = "Las Vegas, Nv , 89103"
Dim aAdr(1 To 3) As String
Dim re As Object, mc As Object, m As Object
Dim i As Long
Set re = CreateObject("vbscript.regexp")
re.Pattern = "(^[^,]+)\W+(\w+)\W+(\d+)"
If re.test(sAdr) Then
Set mc = re.Execute(sAdr)
For i = 0 To 2
aAdr(i + 1) = mc(0).submatches(i)
Next i
End If
For i = 1 To 3
Debug.Print aAdr(i)
Next i
End Sub
====================
--ron