I realize that this will be a slightly different approach than you were
using but it will be in the ballpark. If you dont like the way it
works, just let me know and we can work on it till it functions exactly
as you want... Copy and paste this into the worksheet code module that
you are using...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CurRng, CtyRng, ZipRng As Range
'CHECK TO SEE IF THE CURRENTLY SELECTED CELL IS WITHIN
'THE APPROPRIATE CELL RANGE:
Set CurRng = Union(Target, Range("A1:A100"))
If CurRng.Address <> "$A$1:$A$100" Then Exit Sub
'SET A REFERENCE TO THE CURRENTLY SELECTED CELL
Set CtyRng = Target
'SET A REFERENCE TO THE CELL IMMEDIATELY TO THE RIGHT
'OF THE CURRENTLY SELECTED CELL
Set ZipRng = CtyRng.Offset(0, 1)
'COMPARE THE ENTRY IN THE CURRENT CELL TO THE FOLLOWING
'LIST IN ORDER TO DETERMINE THE APPROPRIATE ZIP CODE
Select Case CtyRng
'NOTICE THAT IN THIS CASE, SEPERATING THE TWO CHOICES BY A
'COMMA WILL RESULT IN BOTH THE UPPER AND LOWER CASES
'YIELDING THE ZIP 26164. THIS MAY HELP YOU LATER ON WITH OTHER
'SIMILAR CHOICES
Case "Ravenswood", "ravenswood"
ZipRng = 26164
Case "Harrisburg"
ZipRng = 17110
Case "Culpeper"
ZipRng = 22701
End Select
End Sub
This will automatically enter the appropriate zip in the B column once
an entry has been detected anywhere in the range A1:A100. Hope this is
what you needed.....