VBA Validating a Postcode in userform

JanieC

New Member
Joined
Jan 21, 2009
Messages
1
I have created a userform and I would like the first character of my textbox to be a letter. The textbox is to be used for the postcode. I have some code that will only allow letters, numbers and spaces to be entered into this box, but I don't know how to insist that the first entry is a letter. This is my code:


Private Sub Postcode_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
'Postcodes can have upto 8 charaters including a space
'32= Space, 97 to 122 = a-z, 65 to 90 = A-Z, 48 to 57 = 0-9
Case 32, 65 To 90, 97 To 122, 48 To 57
Case Else
'character is printed, but we are sending backspace right immediately.

'Key 8 is = Backspace
KeyAscii = 8
Beep
MsgBox "Please enter a valid PostCode", vbOKOnly, "Postcode Entry"

End Select
End Sub

Thank You
JanieC :rolleyes:
 

bbrnx19

Board Regular
Joined
Oct 25, 2006
Messages
148
Try this change to your code

Private Sub Postcode_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
'Postcodes can have upto 8 charaters including a space
'32= Space, 97 to 122 = a-z, 65 to 90 = A-Z, 48 to 57 = 0-9
Case 65 To 90, 97 To 122
Case 32, 48 To 57
If Len(Postcode.Text) = 0 Then GoTo 1:
Case Else
'character is printed, but we are sending backspace right immediately.
1:
'Key 8 is = Backspace
KeyAscii = 8
Beep
MsgBox "Please enter a valid PostCode", vbOKOnly, "Postcode Entry"

End Select
End Sub
 

Forum statistics

Threads
1,085,495
Messages
5,384,007
Members
401,871
Latest member
allemandi

Some videos you may like

This Week's Hot Topics

Top